Method and system for utilizing transformation matrices to process rasterized image data

ABSTRACT

A method and system render rasterized data by receiving non-rasterized page description language data and a corresponding transformation matrix representing transformation operations to be performed. The non-rasterized page description language data is rasterizing to create rasterized data. The corresponding transformation matrix is decomposed into a plurality of individual transformation operation matrices and a discrete transformation operation value, from each corresponding individual transformation operation matrix, is generated for each transformation operation to be performed upon the rasterized data. The transformation operations are performed upon the rasterized data based upon the generated discrete transformation operation values.

PRIORITY INFORMATION

The present application is a continuation-in-part of co-pending U.S.patent application Ser. No. 12/338,260, filed on Dec. 18, 2008. Thepresent application claims priority, under 35 U.S.C. §120, fromco-pending U.S. patent application Ser. No. 12/338,260, filed on Dec.18, 2008. The entire content of U.S. patent application Ser. No.12/338,260, filed on Dec. 18, 2008, is hereby incorporated by reference.

BACKGROUND

A document and/or image for rendering on a display device or on arecording medium, such a print media, are generated in a variety ofways; however, the generated document and/or image are conventionally inone of two forms, rasterized data or non-rasterized data.

Non-rasterized data is conventionally the result of utilizinggraphics-oriented methodologies such as OpenGL, Postscript™, andscalable vector graphics to generate the document and/or image.Moreover, rasterized data is conventionally the result of a scanningprocess (the converting of a physical document and/or image to anelectronic form) or a rasterization process.

Rasterized data is conventionally a bitmap representation of thedocument and/or image, whereas non-rasterized data is conventionally afile of commands and/or mathematical operations that a raster imageprocessor can utilize the non-rasterized data to create a bitmap(rasterized data) of the document and/or image. On the other hand,digital photographic devices, such as scanners and digital cameras,directly generate rasterized data (bitmap) when converting either theimage or document to an electronic representation thereof.

FIG. 1 illustrates a conventional system that processes eitherrasterized data or non-rasterized data for rendering by a print engineonto a recording medium. As illustrated in FIG. 1, the conventionalsystem is, for the purposes of explanation, split into a sourcesubsystem 10 and a rasterized data processing subsystem 20. It is notedthat although this conventional system illustrates a printing system,the processing of the rasterized data or non-rasterized data may beexecuted by computer-based graphics cards such that the data isprocessed for viewing on a device.

With respect to the source subsystem 10, the data to be rendered issourced from either a rasterized data source 11, such a scanner, or anon-rasterized data source 12, such as a personal computer which iscapable of implementing graphics-oriented methodologies. If the data tobe rendered is sourced from the rasterized data source 11, therasterized data can be directly processed by rasterized image processinghardware 24.

On the other hand, if the data to be rendered is sourced from thenon-rasterized data source 12, the non-rasterized data must be convertedto rasterized data before it can be processed by the rasterized imageprocessing hardware 24.

Conventionally, non-rasterized data is converted to rasterized data by aconventional raster image processing engine 14, as illustrated inFIG. 1. If the non-rasterized data has been manipulated (transformed)with respect to translation, scaling, and/or rotation, and theconventional graphics-oriented methodologies used transformationmatrices to represent these manipulations, the transformation matricesare utilized in the rasterizing processor. It is noted that theindividual transformation matrices can be represented in compositetransformation matrix which is generated from matrix multiplication ofthe individual transformation matrices in transformation operationalorder.

Once a composite transformation matrix is generated any subsequenttransformation can realized by matrix multiplication of the compositetransformation matrix with the subsequent transformation matrix.Conventional transformations are translation, scaling, and rotation.

A translation transformation is the movement of a point within an imageor an image from its original location to another location intwo-dimensional space by a constant offset. Translations can berepresented by a matrix.

A scaling transformation is performed by multiplying the position of avertex by a scalar value. This multiplication has the effect of scalinga vertex with respect to the origin. Scaling can also be represented bya matrix. Scaling can be either symmetric or asymmetric.

A rotation transformation is a rotating of the image which depends uponon the axis around which a point is to be rotated. In conventionalsystems, the angle of rotation is represented by theta, θ. It is notedthat rotation can also be represented by a matrix.

A composite transformation matrix CTM is a matrix formed from matrixmultiplications of the individual transformation matrices in the orderthat the transformations are performed. Thus, a single composite matrixcan contain all the translation, scaling, and/or rotation informationfor the non-rasterized data.

The non-rasterized data is conventionally converted to rasterized datain a raster image processing engine 14 by consuming the compositetransformation matrix CTM so as to produce rasterized data which isproperly translated, scaled, and/or rotated. The rasterized data canthen be processed by rasterized image processing hardware 24 to preparethe rasterized data for rendering by the print engine 26.

Conventionally, once the non-rasterized data is converted intorasterized form, the use of the composite transformation matrix isabandoned because conventional printing applications (print engine 26)do not accept a matrix to describe rotation, scaling, and translation.Instead conventional printing applications utilized image parametersvalues which are defined as variables, not in matrix form. This loss ofthe composite transformation matrix creates a disconnection betweenmatrix-based algorithms and hardware to effect an imaging operation.

Compositing operations, nonetheless, are useful even when manipulatingand transforming rasterized data in that compositing operations mayimprove accuracy, quality, and efficiency. More specifically, arendering engine may contain processing hardware that has a unique orderwith respect to performing transformations (translation, scaling, and/orrotation) upon the rasterized data. It is noted that performingtransformations upon the rasterized data is order dependent in thatperforming rotation before translation may produce a different resultfrom performing translation before rotation.

Thus, if it is desired to manipulate the rasterized data bytransformations in the order of rotation, scaling, translation (RST),but the rendering hardware is differently ordered, such as scaling,translation, rotation (STR), the rotation, scaling, translationinformation in the composite matrix should be decomposed in such amanner to match the order of the operations in the rendering device. Thedifficulty arises in deciphering (decomposing) fundamental rotation,scaling, and translations values needed to program the raster imagingalgorithms (typically hardware based) when represented in matrix form.

Therefore, it is desirable to provide a system and method that iscapable of utilizing a composite transformation matrix and matrixoperations upon rasterized data. Moreover, it is desirable to provide asystem and method that enables the proper decomposing of a compositetransformation matrix such that the transformations (rotation, scaling,and/or translation) can be properly performed by a rendering device thathas a predetermined transformation order which may not coincide with thetransformation order used to create the composite transformation matrix.

BRIEF DESCRIPTION OF THE DRAWING

The drawings are only for purposes of illustrating various embodimentsand are not to be construed as limiting, wherein:

FIG. 1 is a block diagram illustrating a conventional system forrendering rasterized data;

FIG. 2 is a block diagram illustrating a system for rendering rasterizeddata using the decomposition of a composite transformation matrix;

FIG. 3 is a flowchart illustrating the rendering of rasterized datausing the decomposition of a composite transformation matrix;

FIGS. 4-9 illustrate tables of correction coefficients for creating are-ordered target composite transformation matrix from a sourcecomposite transformation matrix;

FIG. 10 is a flowchart illustrating the rendering of rasterized datausing the decomposition of a composite transformation matrix todetermine a shear matrix;

FIGS. 11 and 12 illustrate tables of transformation matrices fromdecomposition of a composite transformation matrix and a sheardecomposition;

FIG. 13 shows an example of an original (reference) image and adistortion of the original (reference) image;

FIGS. 14 through 17 show the correcting of the distortion in theoriginal (reference) image by correcting scaling, then shear, thentranslation, and then rotation; and

FIGS. 18 through 21 show the correcting of the distortion in theoriginal (reference) image by correcting rotation, then shear, thenscaling, and then translation.

DETAILED DESCRIPTION

For a general understanding, reference is made to the drawings. In thedrawings, like references have been used throughout to designateidentical or equivalent elements. It is also noted that the drawings maynot have been drawn to scale and that certain regions may have beenpurposely drawn disproportionately so that the features and conceptscould be properly illustrated.

It is noted that the various processes described below can beimplemented in or by application specific circuits, programmablecircuits, software, or firmware, or any combination thereof.

FIG. 2 shows a block diagram illustrating a system for renderingrasterized data using the decomposition of a composite transformationmatrix. As illustrated in FIG. 2, the system is, for the purposes ofexplanation, split into a source subsystem 10 and a rasterized dataprocessing subsystem 20.

With respect to the source subsystem 10, the data to be rendered issourced from either a rasterized data source 11, such a scanner, or anon-rasterized data source 12, such as a personal computer which iscapable of implementing graphics-oriented methodologies. If the data tobe rendered is sourced from the rasterized data source 11, therasterized data can be directly processed rasterized image processinghardware 24.

On the other hand, if the data to be rendered is sourced from thenon-rasterized data source 12, the non-rasterized data must be convertedto rasterized data before it can be processed by the rasterized imageprocessing hardware 24.

The non-rasterized data is converted to rasterized data by a rasterimage processing engine 14, as illustrated in FIG. 2. In thisrasterization process, if it is desired to manipulate the non-rasterizeddata with respect to translation, scaling, and/or rotation, usingtransformation matrices, the transformation matrices or compositetransformation matrix is utilized, by the raster image processing engine14, to rasterize the non-rasterized data.

As noted above, a composite transformation matrix CTM₁ is a matrixformed from matrix multiplications of the individual transformationmatrices in the order that the transformations are performed. Thus, asingle composite matrix can contain all the translation, scaling, and/orrotation information for the non-rasterized data.

As illustrated in FIG. 2, the non-rasterized data is converted torasterized data in raster image processing engine 14; however, thecomposite transformation matrix CTM₁ is not abandoned, but may be passedonto the rasterized data processing subsystem 20 as a currenttransformation matrix, a matrix that represents the currenttransformations and order thereof that has been performed upon therasterized data.

Moreover, the composite transformation matrix CTM₁ may not have beenused in the rasterization process by the raster image processing engine14 wherein the data is rasterized without utilizing compositetransformation matrix CTM₁. In this situation, the compositetransformation matrix CTM₁ can be passed on and merged with compositetransformation matrix CTM₂ which represents transformations specified bya user or system, post rasterization.

The rasterized data can then be processed by the rasterized imageprocessing hardware 24 to prepare the rasterized data for rendering bythe print engine 26.

As previously noted, transformations can also be performed uponrasterized data. As in the non-rasterized situation, the transformationsto be performed upon the rasterized data can be represented by compositetransformation matrix CTM₂ (or a composite transformation matrixrepresenting a merging of composite transformation matrix CTM₁ andcomposite transformation matrix CTM₂) such that the actualtransformations are performed by the rasterized image processinghardware 24. In such a situation, the information representing theindividual transformations in the composite transformation matrix mustbe extracted so that the rasterized image processing hardware 24 canproperly prepare the data for rendering.

Moreover, the information representing the individual transformations inthe composite transformation matrix must be extracted in such a way thatthe information depend upon the fixed order of the transformationoperations of the rasterized image processing hardware 24. If theinformation is extracted independent of the fixed order of thetransformation operations of the rasterized image processing hardware24, the rasterized image processing hardware 24 may be prevented fromproperly preparing the data for rendering.

For example, if it is desired to manipulate the rasterized data bytransformations in the order of rotation, scaling, translation (RST),but the rendering hardware is ordered as scaling, translation, rotation(STR), the rotation, scaling, translation information in the compositetransformation matrix should be decomposed in such a manner to match theorder of the operations in the rendering device.

To decompose the composite transformation matrix, a transformationmatrix decomposition circuit 22 decomposes the composite transformationmatrix in such a manner to match the order of the operations in therendering device. One method that the transformation matrixdecomposition circuit 22 may utilize is polar decomposition to determinerotation/scaling matrices and further matrix manipulations to determinethe translation matrix. By using polar decomposition, the actual imagingparameters values needed by the rasterized image processing hardware 24are derived from the matrices.

It is noted that the composite transformation matrix or currenttransformation matrix can be created from any number of graphicsoperations and that the decomposition represents a set of matrices in aspecific order that when multiplied together create the same compositetransformation matrix or current transformation matrix. In other words,the matrices are not necessarily related to the matrix operations thatcreated the composite transformation matrix or current transformationmatrix. The values within the decomposed matrices can be used by therasterized image processing hardware 24 to achieve the expected results.

FIG. 3 shows a flowchart illustrating a decomposition of a compositetransformation matrix or current transformation matrix. As illustratedin FIG. 3, a composite transformation matrix or current transformationmatrix is received, at step S1. The composite transformation matrix orcurrent transformation matrix could represent any number of matrixmultiplications of rotation (R), scaling (S), or translation (T). (It isnoted that shift and translation are interchangeable terms.)

For example, a composite transformation matrix or current transformationmatrix could be a series of graphics operations: Translate (T), thenScale (S1), then Rotate (R1), then Scale (S2), then Rotate (R2). Sincematrix multiplication operations, in the examples discussed herein,proceed from right→left, the generation of the composite transformationmatrix or current transformation matrix would be represented asCTM=R2·S2·R1·S1·T

Thereafter, in steps S3 and S5, polar decomposition generates a rotationmatrix and a scaling matrix (order dependent). The translation matrix isderived from the rotation and scaling matrices and the originalcomposite transformation matrix or current transformation matrix viamatrix inverse operations.

As step S7, the discrete parameters, used to program the raster imagingalgorithms, are determined from the matrices. The discrete parametersare theta: the rotation angle; Sx/Sy: the scaling values; and Tx/Ty: thetranslation/shift values. At step S9, the discrete parameters are usedby the raster imaging algorithms or rasterized image processing hardwareto process the rasterized data for rendering.

In summary, a method and/or system renders rasterized data by receivingnon-rasterized page description language data and a correspondingtransformation matrix representing transformation operations to beperformed; rasterizing the non-rasterized page description language datato create rasterized data; decomposing the corresponding transformationmatrix into a plurality of individual transformation operation matrices;generating a discrete transformation operation value, from acorresponding individual transformation operation matrix, for eachtransformation operation to be performed upon the rasterized data; andperforming the transformation operations upon the rasterized data basedupon the generated discrete transformation operation values.

The transformation operations to be performed may be rotation, scaling,and/or translation. Moreover, the corresponding transformation matrixmay be decomposed in an order corresponding to an order of thetransformation operations being performed upon the rasterized data.Furthermore, the corresponding transformation matrix may represent adevice independent transformation operation or multiple deviceindependent transformation operations. Also, the correspondingtransformation matrix may be defined by user defined operations or bysystem defined operations or a combination thereof.

Alternatively, a method and/or system may control imaging operations ofa rendering device by receiving a non-rasterized page descriptionlanguage data to be rendered; creating a transformation matrixrepresenting transformation operations; rasterizing the received image;decomposing the transformation matrix representing the transformationoperations into a plurality of ordered transformational operationmatrices, each transformational operation matrix representing anindependent transformation operation; generating a discretetransformation operation value, from a corresponding individualtransformational operation matrix, for each transformation operation tobe performed upon the rasterized data; and transforming the rasterizeddata based upon the generated discrete transformation operation values.

The transformation operations to be performed may be rotation, scaling,and/or translation. Moreover, the corresponding transformation matrixmay be decomposed in an order corresponding to an order of thetransformation operations being performed upon the rasterized data.Furthermore, the corresponding transformation matrix may represent adevice independent transformation operation or multiple deviceindependent transformation operations. Also, the correspondingtransformation matrix may be defined by user defined operations or bysystem defined operations or a combination thereof.

Furthermore, a method and/or system may control imaging operations of arendering device by receiving a non-rasterized page description languagedata to be rendered; rasterizing the received image; creating, postrasterization, a transformation matrix representing transformationoperations; decomposing the transformation matrix representing thetransformation operations into a plurality of ordered transformationaloperation matrices, each transformational operation matrix representingan independent transformation operation; generating a discretetransformation operation value, from a corresponding individualtransformational operation matrix, for each transformation operation tobe performed upon the rasterized data; and transforming the rasterizeddata based upon the generated discrete transformation operation values.

The transformation operations to be performed may be rotation, scaling,and/or translation. Moreover, the corresponding transformation matrixmay be decomposed in an order corresponding to a fixed order of thetransformation operations being performed upon the rasterized data.Furthermore, the corresponding transformation matrix may represent adevice independent transformation operation or multiple deviceindependent transformation operations. Also, the correspondingtransformation matrix may be defined by user defined operations or bysystem defined operations or a combination thereof.

As noted above, computer graphics and imaging application performstandard Translation (T), Rotation (R), and Scaling(S) operations inboth two-dimensions and three dimensions. These operations arenon-commutative, and thus, employing a given set of R, S, and Ttransformation matrices in the context of two different imagingarchitectures (e.g., one architecture rotates, scales, and thentranslates, while the other architecture scales, translates, thenrotates) will in general produce two different results.

Therefore, when adapting an image processing algorithm to a particularimaging order, it is necessary to adjust the transformation matrices toaccount for any differences in assumed operation order. A solution tothe reordering problem may reduce coupling to an imaging device.

For example, a process may use rotation-dependent translation andscaling coefficients to map from a source ordering (defined in eitherdiscrete variable set or matrix form), to the equivalent in the targetordering. It is noted that all possible combinations may be elucidatedas a system of equations, making it simple to create a mapping foreffective implementation.

More specifically, it may be possible to implement all the variousprocesses discussed herein on a one-off basis or as a complete librarythat is run-time invokable. The library could exist outside of theimaging device, or it could be programmable within the device.

For illustrations purposes, various combinations of correctioncoefficients for two-dimensions have been tabulated and illustrated inFIGS. 4-9.

To describe the process, the following example will be utilized. In thisexample, the convention used is that ordering for Rotation (R), Scaling(S), and Translation (T) will be defined as an ordered tuple; order isright to left (for example, RST means translate, then scale, thenrotate).

In this example, a source matrix representing the STR order is to beconverted to equivalent individual transformation matrices in RTS order.It is noted that matrices are concatenated into a composite matrix.Moreover, it is noted that while the individual matrices are different,the composite matrices for each ordering will be identical.

  //Create  source  matrices   sourceTranslation = translate 2D[3, 4]$\mspace{20mu}{\begin{matrix}1 & 0 & 3 \\0 & 1 & 4 \\0 & 0 & 1\end{matrix}}$   sourceScale = scale 2D[0.5, 2.0]$\mspace{20mu}{\begin{matrix}0.5 & 0 & 0 \\0 & 2 & 0 \\0 & 0 & 1\end{matrix}}$   sourceRotation = rotation 2D[π/2]$\mspace{20mu}{{\begin{matrix}0 & {- 1} & 0 \\1 & 0 & 0 \\0 & 0 & 1\end{matrix}}//{{Create}\mspace{14mu}{composite}{\mspace{11mu}\;}{matrix}{\mspace{11mu}\;}{for}\mspace{14mu}{STR}\mspace{14mu}{ordering}\mspace{14mu}{by}\mspace{14mu}{matrix}\mspace{14mu}{multiplication}}}\mspace{11mu}$  sourceScale ⋅ sourceTranslation  ⋅ sourceRotation$\mspace{20mu}{\begin{matrix}0 & {- 0.5} & 1.5 \\2 & 0 & 8 \\0 & 0 & 1\end{matrix}}$

Referring to FIGS. 4-9 for mapping correction coefficients, thecorrection coefficients, in this example, are generated from FIG. 7, row6, with above values to create new matrices with a different (RTS)order, wherein the angle is 90 degrees or π/2 radians. It is noted thatfor the above described process, the mappings are generally degreedependent.

${targetTranslation} = {{translate}\; 2{D\left\lbrack {{2*4},{{{- \left( {0.5*3} \right)}{\begin{matrix}1 & 0 & 8 \\0 & 1 & {- 1.5} \\0 & 0 & 1\end{matrix}}{targetScale}} = {{{scale}\; 2{D\left\lbrack {2,0.5} \right\rbrack}{\begin{matrix}2 & 0 & 0 \\0 & 0.5 & 0 \\0 & 0 & 1\end{matrix}}{targetRotation}} = {sourceRotation}}}} \right.}}$

It is noted that rotation is the same for both, but the order ofcomposition differs.

//Composite   for  the  RTS  ordering  and  new  matrices   targetRotation  ⋅ targetTranslation  ⋅ targetScale $\begin{matrix}0 & {- 0.5} & 1.5 \\2 & 0 & 8 \\0 & 0 & 1\end{matrix}$

It is noted that while the scale and translation matrices are different,as is the order of matrix multiplication, the resulting compositematrices are identical.

In summary, a method and/or system renders a rasterized data byreceiving a non-rasterized page description language data and a sourcetransformation matrix representing source transformation operations, thesource transformation operations being a source rotation transformationoperation, a source scaling transformation operation, and a sourcetranslation transformation operation; rasterizing the non-rasterizedpage description language data; generating, from the sourcetransformation matrix, a rotation dependent scaling transformationmatrix and a rotation dependent translation transformation matrix;determining an order of transformation operations to be performed uponthe rasterized data; creating a target transformation matrix by matrixmultiplying the rotation dependent scaling transformation matrix, therotation dependent translation transformation matrix, and the sourcerotation transformation operation in a matrix order corresponding to thedetermined order of transformation operations to be performed upon therasterized data; decomposing the target transformation matrix into aplurality of individual transformation operation matrices; generating adiscrete transformation operation value, from a corresponding individualtransformation operation matrix, for each transformation operation to beperformed upon the rasterized data; and performing the transformationoperations upon the rasterized data based upon the generated discretetransformation operation values.

It is noted that the source transformation matrix is defined by userdefined operations, by system defined operations, or a combinationthereof.

Alternatively, a method and/or system may control imaging operations ofa rendering device by receiving a non-rasterized page descriptionlanguage data to be rendered; creating a source transformation matrixrepresenting source transformation operations, the source transformationoperations being a source rotation transformation operation, a sourcescaling transformation operation, and a source translationtransformation operation; rasterizing the received image; generating,from the source transformation matrix, a rotation dependent scalingtransformation matrix and a rotation dependent translationtransformation matrix; determining an order of transformation operationsto be performed upon the rasterized data; creating a targettransformation matrix by matrix multiplying the rotation dependentscaling transformation matrix, the rotation dependent translationtransformation matrix, and the source rotation transformation operationin a matrix order corresponding to the determined order oftransformation operations to be performed upon the rasterized data;decomposing the target transformation matrix representing thetransformation operations into a plurality of ordered transformationaloperation matrices, each transformational operation matrix representingan independent transformation operation; generating a discretetransformation operation value, from a corresponding individualtransformational operation matrix, for each transformation operation tobe performed upon the rasterized data; and transforming the rasterizeddata based upon the generated discrete transformation operation values.

It is noted that the source transformation matrix is defined by userdefined operations, by system defined operations, or a combinationthereof.

Also, a method and/or system may control imaging operations of arendering device by receiving a non-rasterized page description languagedata to be rendered; rasterizing the received image; creating, postrasterization, a source transformation matrix representingtransformation operations; generating, from the source transformationmatrix, a rotation dependent scaling transformation matrix and arotation dependent translation transformation matrix; determining anorder of transformation operations to be performed upon the rasterizeddata; creating a target transformation matrix by matrix multiplying therotation dependent scaling transformation matrix, the rotation dependenttranslation transformation matrix, and the source rotationtransformation operation in a matrix order corresponding to thedetermined order of transformation operations to be performed upon therasterized data; decomposing the target transformation matrixrepresenting the transformation operations into a plurality of orderedtransformational operation matrices, each transformational operationmatrix representing an independent transformation operation; generatinga discrete transformation operation value, from a correspondingindividual transformational operation matrix, for each transformationoperation to be performed upon the rasterized data; and transforming therasterized data based upon the generated discrete transformationoperation values.

In another example, a method and/or system can use compositetransformations, decompose into discrete values for rotation,translation, and scaling, and reorder these values for any orderrequired by an imaging device. This decouples algorithms from imaginghardware specifics allowing abstract algorithms to be developed. It isnoted that reflection can be viewed as a special case of scaling. Suchan example is set forth below.

     //Create  an  arbitrary  but  complex  composite  transformation   matrix  (CTM)complexCTM = rotate 2D[π/2] ⋅ translate 2D[14, −42] ⋅ rotate 2D[π] ⋅ scale 2D[3, 4] ⋅ rotate 2D[3π/2] ⋅ translate 2D[12, −4] ⋅ scale 2D[1/2, 2] ⋅ rotate 2D[π] ⋅ translate 2D[1, −5] ⋅ rotate 2D[π/2]$\mspace{20mu}{{{\begin{matrix}0 & {- 2} & {- 4} \\6 & 0 & {- 4} \\0 & 0 & 1\end{matrix}}\mspace{20mu}//{{Perform}{\;\mspace{11mu}}{the}\mspace{14mu}{polar}\mspace{14mu}{decomposition}\mspace{14mu}{and}\mspace{14mu}{matrix}\mspace{14mu}{operations}\text{}\mspace{20mu}{{needed}\mspace{14mu}{to}\mspace{14mu}{derive}\mspace{14mu}{{rotation}(R)}}}},{{scaling}\mspace{14mu}(S)},{{{and}\mspace{14mu}{translation}\mspace{14mu}(T)\;\mspace{20mu}{{matrices}.\mspace{20mu}\left\{ {{RSTr},{RSTs},{RSTt}} \right\}}} = {{polarDecomposition}\; 2{D\lbrack{complexCTM}\rbrack}\mspace{20mu}{{MatrixForm}\lbrack{RSTr}\rbrack}\mspace{20mu}{\begin{matrix}0 & {- 1} & 0 \\1 & 0 & 0 \\0 & 0 & 1\end{matrix}}\mspace{20mu}{{MatrixForm}\lbrack{RSTs}\rbrack}\mspace{20mu}{\begin{matrix}6 & 0 & 0 \\1 & 2 & 0 \\0 & 0 & 1\end{matrix}}\mspace{20mu}{{MatrixForm}\lbrack{RSTt}\rbrack}\mspace{20mu}{{{{\begin{matrix}1 & 0 & {{- 2}/3} \\0 & 1 & 2 \\0 & 0 & 1\end{matrix}}\mspace{20mu}//{{Matrix}\mspace{14mu}{multiply}\mspace{14mu}{in}\mspace{14mu} a\mspace{14mu}{RST}\mspace{14mu}{{order}{\mspace{11mu}\;}\left( {{right}\mspace{14mu}{to}\mspace{14mu}{left}} \right)}}}\mspace{20mu}//\mspace{11mu}{{The}\mspace{14mu}{output}\mspace{11mu}{is}\mspace{14mu}{identical}\mspace{14mu}{to}\mspace{14mu}{complexCTM}\mspace{14mu}{abo}\;{{ve}.\mspace{20mu}{\begin{matrix}0 & {- 2} & {- 4} \\6 & 0 & {- 4} \\0 & 0 & 1\end{matrix}}}}}\mspace{20mu}//{{Based}\mspace{14mu}{on}\mspace{14mu}{decomposed}\mspace{14mu}{rotation}\mspace{14mu}{matrix}}}}},{{{solve}\mspace{14mu}{for}{\mspace{11mu}\;}{the}\mspace{14mu}{angle}\mspace{20mu}{{Solve}\left\lbrack {{r=={{rotate}\; 2{D\lbrack{theta}\rbrack}}},{theta}} \right\rbrack}\mspace{11mu}\theta} = {\pi/2}}}$

Theta is in radians and equates to a composite rotation of 90 degree.This value can be used to lookup mapping correction coefficients fromthe tables illustrated in FIGS. 4-9. Thereafter, the method canarbitrarily choose an order mapping. Based on coefficients, from thetables illustrated in FIGS. 4-9, new scaling and translation matricescan be created. Rotation matrix will be the same. In the example belowthe order mapping that was chosen is STR.

STRs = scale 2D[2, 6] $\begin{matrix}2 & 0 & 0 \\0 & 6 & 0 \\0 & 0 & 1\end{matrix}$ STRt = translate 2D[−2, −2/3] ${\begin{matrix}1 & 0 & 2 \\0 & 1 & {{- 2}/3} \\0 & 0 & 1\end{matrix}}//{{Create}\mspace{11mu} a\mspace{14mu}{new}\mspace{14mu}{CTM}\mspace{14mu}{based}\mspace{14mu}{on}\mspace{14mu}{new}\mspace{14mu}{matrices}\mspace{14mu}{and}\mspace{14mu}{STR}\mspace{14mu}{order}}$STR = STRs ⋅ STRt ⋅ r  $\begin{matrix}0 & {- 2} & {- 4} \\6 & 0 & {- 4} \\0 & 0 & 1\end{matrix}$

It is noted that this is identical to the original compositetransformation matrix.

In the example above, a complex composite transformation matrix isdecomposed into individual scaling, rotation, and translation matricesrequiring a fixed order to recreate the original compositetransformation matrix. This is useful for devices that expect discretevalues for these operations (i.e. cannot accept a composite matrix).

In summary, a method and/or system may render a rasterized data byreceiving a non-rasterized page description language data and a sourcetransformation matrix, the source transformation matrix being atransformation matrix created by an ordered matrix multiplication of aplurality of individual transformation operation matrices, eachindividual transformation operation matrix representing a rotationtransformation operation, a scaling transformation operation, or asource translation transformation operation; rasterizing thenon-rasterized page description language data; generating, from thesource transformation matrix, a rotation transformation matrix, ascaling transformation matrix and a translation transformation matrixbased on a predetermined matrix order; determining a rotation value fromthe rotation transformation matrix; determining an order oftransformation operations to be performed upon the rasterized data;creating an order dependent rotation dependent scaling transformationmatrix and an order dependent rotation dependent translationtransformation matrix; creating a target transformation matrix by matrixmultiplying the rotation dependent scaling transformation matrix, therotation dependent translation transformation matrix, and the rotationtransformation operation in a matrix order corresponding to thedetermined order of transformation operations to be performed upon therasterized data; decomposing the target transformation matrix into aplurality of individual transformation operation matrices; generating adiscrete transformation operation value, from a corresponding individualtransformation operation matrix, for each transformation operation to beperformed upon the rasterized data; and performing the transformationoperations upon the rasterized data based upon the generated discretetransformation operation values.

It is noted that the source transformation matrix is defined by userdefined operations, by system defined operations, or a combinationthereof.

Alternatively, a method and/or system may control imaging operations ofa rendering device by receiving a non-rasterized page descriptionlanguage data to be rendered; creating a source transformation matrix,the source transformation matrix being a transformation matrix createdby an ordered matrix multiplication of a plurality of individualtransformation operation matrices, each individual transformationoperation matrix representing a rotation transformation operation, ascaling transformation operation, or a source translation transformationoperation; rasterizing the received image; generating, from the sourcetransformation matrix, a rotation transformation matrix, a scalingtransformation matrix and a translation transformation matrix based on apredetermined matrix order; determining a rotation value from therotation transformation matrix; determining an order of transformationoperations to be performed upon the rasterized data; creating an orderdependent rotation dependent scaling transformation matrix and an orderdependent rotation dependent translation transformation matrix; creatinga target transformation matrix by matrix multiplying the rotationdependent scaling transformation matrix, the rotation dependenttranslation transformation matrix, and the rotation transformationoperation in a matrix order corresponding to the determined order oftransformation operations to be performed upon the rasterized data;decomposing the target transformation matrix representing thetransformation operations into a plurality of ordered transformationaloperation matrices, each transformational operation matrix representingan independent transformation operation; generating a discretetransformation operation value, from a corresponding individualtransformational operation matrix, for each transformation operation tobe performed upon the rasterized data; and transforming the rasterizeddata based upon the generated discrete transformation operation values.

It is noted that the source transformation matrix is defined by userdefined operations, by system defined operations, or a combinationthereof.

Also, a method and/or system may control imaging operations of arendering device by receiving a non-rasterized page description languagedata to be rendered; rasterizing the received image; creating, postrasterization, a source transformation matrix, the source transformationmatrix being a transformation matrix created by an ordered matrixmultiplication of a plurality of individual transformation operationmatrices, each individual transformation operation matrix representing arotation transformation operation, a scaling transformation operation,or a source translation transformation operation; generating, from thesource transformation matrix, a rotation transformation matrix, ascaling transformation matrix and a translation transformation matrixbased on a predetermined matrix order; determining a rotation value fromthe rotation transformation matrix; determining an order oftransformation operations to be performed upon the rasterized data;creating an order dependent rotation dependent scaling transformationmatrix and an order dependent rotation dependent translationtransformation matrix; creating a target transformation matrix by matrixmultiplying the rotation dependent scaling transformation matrix, therotation dependent translation transformation matrix, and the rotationtransformation operation in a matrix order corresponding to thedetermined order of transformation operations to be performed upon therasterized data; decomposing the target transformation matrixrepresenting the transformation operations into a plurality of orderedtransformational operation matrices, each transformational operationmatrix representing an independent transformation operation; generatinga discrete transformation operation value, from a correspondingindividual transformational operation matrix, for each transformationoperation to be performed upon the rasterized data; and transforming therasterized data based upon the generated discrete transformationoperation values.

It is noted that the source transformation matrix is defined by userdefined operations, by system defined operations, or a combinationthereof.

It is further noted that rotation, scaling, and translation are basicimage (geometric) transformation operations. Their parameters generallydepend on the order of the operations. As previously noted, there aretwo fundamental issues: 1) given a target transformation specified by acomposite transformation matrix, how to implement it with rotation,scaling, and translation operations with a pre-defined order; 2) for asequence of rotation, scaling, and translation operations, how toimplement it with a different order. These issues are particularlyimportant in a system including devices with heterogeneous imagingarchitectures.

Some of the methods previously discussed decompose a compositetransformation matrix into a concatenation, via matrix algebra, oftranslation, scaling, and rotation. The rotation and scaling matricesare first obtained using a standard polar decomposition, and thetranslation is then calculated using matrix algebra.

In other previously discussed methods a series of translation, rotationand scaling operations are implemented in an arbitrary order. Acomposite transformation matrix is first created to represent the seriesof operations. The composite transformation matrix is then decomposedinto a concatenation of translation, scaling, and rotation. Theresulting operations are then mapped to the desired target order byutilizing the tables illustrated in FIGS. 4-9.

In a further method, a composite transformation matrix is in anyarbitrary order. An example of the decomposition of compositetransformation matrix in any arbitrary order is set forth below.

Initially, a 3×3 composite transformation matrix is used wherein theupper left 2×2 sub-matrix represents rotation and scaling and its (1,3)and (2,3) elements specifies x- and y-translations, respectively. The(3,1) and (3,2) elements are always 0 and (3,3) is always 1. Todecompose a composite transformation matrix into a concatenation oftranslation, scaling, and rotation, the rotation and scaling matricesare first obtained using a standard Polar Decomposition. Specifically,for rotation following scaling,A=R′S′  (1)where A is the upper left 2×2 sub-matrix of the composite transformationmatrix, and 2×2 matrices R′ and S′ are given by:S′=√{square root over (A*A)}  (2)where A* denotes the conjugate transpose of A and S′ is derived from amatrix square root operation, andR′=AS′ ⁻¹  (3)

The rotation matrix R can be obtained by augmenting R′. Specifically,the upper left 2×2 sub-matrix of R is identical to R′. R₃₃ is set to 1and the rest elements to 0. The scaling matrix S can be augmented fromS′ in an identical fashion.

For scaling following rotation,A=S′R′  (4)

S′ and R′ are calculated fromS′=√{square root over (AA*)}  (5)andR′=S′ ⁻¹ A  (6)

Identical to the RS order, R and S are obtained by augmenting R′ and S′,respectively.

Once rotation and scaling matrices R and S are determined, translationcan be evaluated by matrix operations for different rotation, scalingand translation orders:

a) RST order

R and S are obtained using (2)-(3).T=S ⁻¹ R ⁻¹ C,where C is the CTM required.b) RTS order

R and S are obtained using (2)-(3).T=R ⁻¹ CS ⁻¹c) SRT order

R and S are obtained using (5)-(6).T=R ⁻¹ S ⁻¹ C

d) STR order

R and S are obtained using (5)-(6).T=S ⁻¹ CR ⁻¹e) TRS order

R and S are obtained using (2)-(3).T=CS ⁻¹ R ⁻¹f) TSR order

R and S are obtained using (5)-(6).T=CR ⁻¹ S ⁻¹

To implement a serious of translation, rotation, and scaling in anarbitrary order, a composite transformation matrix is first created torepresent the series of operations. This can be accomplished bygenerating rotation, scaling, or translation matrix for each operation,and multiplying the resulting matrices. The composite transformationmatrix is then decomposed into a concatenation of translation, scaling,and rotation in the destination order applying the techniques disclosedabove.

Another example of this method of the decomposition of compositetransformation matrix in any arbitrary order is set froth below. In thisexample, the source operation sequence is in the STR order with:

Source  Translation = translate  2D[3, 4] $\begin{matrix}1 & 0 & 3 \\0 & 1 & 4 \\0 & 0 & 1\end{matrix}$ Source  Scale = scale  2D[0.5, 2.0] $\begin{matrix}0.5 & 0 & 0 \\0 & 2 & 0 \\0 & 0 & 1\end{matrix}$ and  Source  Rotation = rotation  2D[0.5π]//90  degrees$\begin{matrix}0 & {- 1} & 0 \\1 & 0 & 0 \\0 & 0 & 1\end{matrix}$The CTM, evaluated as STR, is:

$\quad{\begin{matrix}0 & {- 0.5} & 1.5 \\2 & 0 & 8 \\0 & 0 & 1\end{matrix}}$

The following destination operations for different orders are obtainedusing the methods described above:

${\left. {{{\left. {{{\left. {{{\left. {{{\left. {{{{{\left. 1 \right)\mspace{14mu}{RST}\mspace{14mu}{order}},{C = {RST}}}R} = {\begin{matrix}0 & {- 1} & 0 \\1 & 0 & 0 \\0 & 0 & 1\end{matrix}}}\mspace{11mu}{S = {\begin{matrix}2 & 0 & 0 \\0 & 0.5 & 0 \\0 & 0 & 1\end{matrix}}}\mspace{11mu}{T = {\begin{matrix}1 & 0 & 4 \\0 & 1 & {- 3} \\0 & 0 & 1\end{matrix}}}2} \right)\mspace{14mu}{RTS}\mspace{14mu}{order}},{C = {RTS}}}{R = {\begin{matrix}0 & {- 1} & 0 \\1 & 0 & 0 \\0 & 0 & 1\end{matrix}}}\mspace{11mu}{S = {\begin{matrix}2 & 0 & 0 \\0 & 0.5 & 0 \\0 & 0 & 1\end{matrix}}}\mspace{11mu}{T = {\begin{matrix}1 & 0 & 8 \\0 & 1 & {- 1.5} \\0 & 0 & 1\end{matrix}}}3} \right)\mspace{14mu}{SRT}\mspace{14mu}{order}},{C = {SRT}}}{R = {\begin{matrix}0 & {- 1} & 0 \\1 & 0 & 0 \\0 & 0 & 1\end{matrix}}}\mspace{11mu}{S = {\begin{matrix}0.5 & 0 & 0 \\0 & 2 & 0 \\0 & 0 & 1\end{matrix}}}\mspace{11mu}{T = {\begin{matrix}1 & 0 & 4 \\0 & 1 & {- 3} \\0 & 0 & 1\end{matrix}}}4} \right)\mspace{14mu}{STR}\mspace{14mu}{order}},{C = {{STR}\mspace{14mu}\left( {{same}\mspace{14mu}{as}\mspace{14mu}{the}\mspace{14mu}{source}\mspace{14mu}{sequence}} \right)}}}{R = {\begin{matrix}0 & {- 1} & 0 \\1 & 0 & 0 \\0 & 0 & 1\end{matrix}}}\mspace{11mu}{S = {\begin{matrix}0.5 & 0 & 0 \\0 & 2 & 0 \\0 & 0 & 1\end{matrix}}}\mspace{11mu}{T = {\begin{matrix}1 & 0 & 3 \\0 & 1 & 4 \\0 & 0 & 1\end{matrix}}}5} \right){\mspace{11mu}\;}{TRS}\mspace{14mu}{order}},{C = {TRS}}}{R = {\begin{matrix}0 & {- 1} & 0 \\1 & 0 & 0 \\0 & 0 & 1\end{matrix}}}\mspace{11mu}{S = {\begin{matrix}2 & 0 & 0 \\0 & 0.5 & 0 \\0 & 0 & 1\end{matrix}}}\mspace{11mu}{T = {\begin{matrix}1 & 0 & 1.5 \\0 & 1 & 8 \\0 & 0 & 1\end{matrix}}}6} \right)\mspace{14mu}{TSR}\mspace{14mu}{order}},{C = {TSR}}$${R = {\begin{matrix}0 & {- 1} & 0 \\1 & 0 & 0 \\0 & 0 & 1\end{matrix}}}\mspace{11mu}$ ${S = {\begin{matrix}0.5 & 0 & 0 \\0 & 2 & 0 \\0 & 0 & 1\end{matrix}}}\mspace{11mu}$ $T = {\begin{matrix}1 & 0 & 1.5 \\0 & 1 & 8 \\0 & 0 & 1\end{matrix}}$

As discussed above, the various solutions for decomposing a composite orcurrent transformation matrix into discrete graphics operations and atechnique for deriving new rotation, scaling, and translation matricesmay encounter an issue in that the solutions may only work withorthogonal rotation angles and may be cumbersome to implement. Thus itis desirable to provide a solution to which is not restricted toorthogonal rotation angles and is not cumbersome to implement.

The following is an example of the process for determining a shear valuematrix given a rotation matrix, a scaling matrix, and a translationmatrix. FIG. 10 will be utilized in discussing this example.

The following composite transformation matrix is a matrix containingrotational, scaling, shear, and translation components. As illustratedin FIG. 10, a composite transformation matrix is received, at step S1.

$\quad\begin{pmatrix}\frac{\sqrt{3}}{2} & {- 1} & 0 \\\frac{1}{2} & \sqrt{3} & 0 \\0 & 0 & 1\end{pmatrix}$

The composite transformation matrix is decomposed, at step S31 of FIG.10, in a Rotation/Scaling order: {Ssrt, Rsrt,Tsrt}=srtDecompose2D[CTMrst] to generate effective reversetransformation matrices, at step S51. It is noted that matrix Ssrt isnot a pure scaling matrix, but has values in the “off-diagonals,”indicating shear.

Ssrt $\quad{\begin{pmatrix}\frac{5}{4} & {- \frac{\sqrt{3}}{4}} & 0 \\{- \frac{\sqrt{3}}{4}} & \frac{7}{4} & 0 \\0 & 0 & 1\end{pmatrix}{Rsrt}{\quad{\begin{pmatrix}\frac{\sqrt{3}}{2} & {- \frac{1}{2}} & 0 \\\frac{1}{2} & \frac{\sqrt{3}}{2} & 0 \\0 & 0 & 1\end{pmatrix}{Tsrt}{\quad\begin{pmatrix}1 & 0 & 0 \\0 & 1 & 0 \\0 & 0 & 1\end{pmatrix}}}}}$

Thereafter, the scaling matrix, Ssrt, is decomposed, at step S61 of FIG.10, into left shear/scale/right shear matrices, as set forth below.

leftH = get Shear 2Dleft[Ssrt] scale = getScale 2D[Ssrt]rightH = getShear 2Dright[Ssrt]   leftH $\quad{\begin{pmatrix}1 & {- \frac{\sqrt{3}}{7}} & 0 \\{- \frac{\sqrt{3}}{5}} & 1 & 0 \\0 & 0 & 1\end{pmatrix}{scale}{\quad{\begin{pmatrix}\frac{5}{4} & 0 & 0 \\0 & \frac{7}{4} & 0 \\0 & 0 & 1\end{pmatrix}{rightH}{\quad\begin{pmatrix}1 & {- \frac{\sqrt{3}}{5}} & 0 \\{- \frac{\sqrt{3}}{7}} & 1 & 0 \\0 & 0 & 1\end{pmatrix}}}}}$

If the resulting matrices are matrix multiplied together, asdemonstrated below, the resulting matrix is equivalent to the originalcomposite transformation matrix. More specifically, if the left shearmatrix (leftH) is matrix multiplied with the scale matrix (scale),rotation matrix (Rsrt), and the translation matrix (Tsrt), the resultingmatrix is the original composite transformation matrix, as demonstratedbelow.

leftH ⋅ scale ⋅ Rsrt ⋅ Tsrt//MatrixForm $\quad\begin{pmatrix}\frac{\sqrt{3}}{2} & {- 1} & 0 \\\frac{1}{2} & \sqrt{3} & 0 \\0 & 0 & 1\end{pmatrix}$

Moreover, if the scale (or scaling) matrix (scale) is matrix multipliedwith the right shear matrix (rightH), rotation matrix (Rsrt), and thetranslation matrix (Tsrt), the resulting matrix is the originalcomposite transformation matrix, as demonstrated below.

scale ⋅ rightH ⋅ Rsrt ⋅ Tsrt $\quad\begin{pmatrix}\frac{\sqrt{3}}{2} & {- 1} & 0 \\\frac{1}{2} & \sqrt{3} & 0 \\0 & 0 & 1\end{pmatrix}$

At step S71, Once the rotation transformation operation matrix isdetermined, a discrete rotation transformation operation value {R} canbe generated from the rotation transformation operation matrix. It isnoted that rotation is the only operation that has a single valuebecause the rotation is in two-dimensions. The other operations have apair of values for each 2D dimension. Moreover, at step S71, once thescaling transformation operation matrix is determined, a discretescaling transformation operation value pair {S_(x), S_(y)} can begenerated from the scaling transformation operation matrix.

Furthermore, at step S71, once the translation transformation operationmatrix is determined, a discrete translation transformation operationvalue pair {T_(x), T_(y)} can be generated from the translationtransformation operation matrix. Lastly, at step S71, once the shear(left or right) transformation operation matrix is determined, adiscrete shear transformation operation value pair {H_(x),H_(y)} can begenerated from the shear (left or right) transformation operationmatrix.

The discrete transformation operation values can be used, at step S91,by the post-rasterization processes (circuits) to prepare the image datafor rendering by the printing device.

An ordering reversal for an inversed matrix product can be expressed asfollows:(A·B)⁻¹ =B ⁻¹ ·A ⁻¹

where the dot (·) operator represents matrix multiplication.

This technique for using an ordering reversal for an inversed matrixproduct can be combined with Polar Decomposition to achieve reordering.It is noted that since the produced scaling matrix may actually be anon-commutative composite of scaling and shear, a further decompositionproduces the shear matrix.

With respect to FIGS. 11 and 12, these Figures show the varioustransformation matrices that can be generated form from the followingoriginal composite matrix.

$\quad\begin{pmatrix}1.61747 & {- 0.630216} & 3.69471 \\{- 0.101414} & 0.802785 & {- 0.333913} \\0. & 0. & 1.\end{pmatrix}$

This composite matrix was generated from a series of arbitrarily chosenoperations of rotation, scaling, translation, and shear. As shown above,decomposition of the “scaling” matrix into scaling and shear submatricesfor multiple orderings can be realized. Moreover, since the interactionbetween the matrices is non-commutative, left and right sheardecompositions are determined. The notations R, S, H, and T, in FIGS. 11and 12, represent the rotation matrix, scaling matrix, shear matrix, andtranslation matrix, respectively, as shown in the table below. Thematrices are in standard affine form used in computer graphics.

Rotation (R) Scaling (S) Shear (H) Translation (T) $\begin{pmatrix}{{Cos}\lbrack\phi\rbrack} & {- {{Sin}\lbrack\phi\rbrack}} & 0 \\{{Sin}\lbrack\phi\rbrack} & {{Cos}\lbrack\phi\rbrack} & 0 \\0 & 0 & 1\end{pmatrix}\quad$ $\begin{pmatrix}{Sx} & 0 & 0 \\0 & {Sy} & 0 \\0 & 0 & 1\end{pmatrix}\quad$ $\begin{pmatrix}1 & {Hx} & 0 \\{Hy} & 1 & 0 \\0 & 0 & 1\end{pmatrix}\quad$ $\begin{pmatrix}1 & 0 & {Tx} \\0 & 1 & {Ty} \\0 & 0 & 1\end{pmatrix}\quad$

By determining shear matrices, possible distortions can be identifiedand operations performed to correct for this type of distortions. Forexample, shear effects caused by raster output scanning misalignment. Asdiscussed above, decomposition is performed upon the original compositematrix to generate operational matrices. It is noted that theoperational matrices are a function of the order of decomposition.Further, the composite columns in the tables of FIGS. 11 and 12 are thematrix multiplication of all matrices and are used as a verification toensure the decomposition is correct.

FIGS. 13 through 21 provide a set of visual examples of using thedecomposed correction matrices in a step-wise fashion to bring a set of“warped” points (or distorted image) into alignment with the original(reference) image. In FIGS. 13 through 21, the filled-in dots representthe original (reference) image and the hollow dots represent the“warped” points or distorted image.

FIGS. 13 through 21 demonstrate that different orderings are possibleand alignment is achieved with any ordering. Moreover, FIG. 13illustrates the set of “warped” points (or distorted image) with theoriginal (reference) image.

For example, one system, as illustrated in FIGS. 14 through 17, maycorrect scaling (FIG. 14), then shear (FIG. 15), then translation (FIG.16), and then rotation (FIG. 17).

In another example, a system, as illustrated in FIGS. 18 through 21, maycorrect rotation (FIG. 18), then shear (FIG. 19), then scaling (FIG.20), and then translation (FIG. 21).

It is noted that for the component not involved in the reversal processduring decomposition, the component's effect is that of an additive ormultiplicative identity. In other words, the non-contributing componentresulting from the Polar Decomposition will appear to have either zerorotation, unit scaling, or zero translation such that, for subsequentoperations, this component can be ignored.

In summary, a method and/or system may rendering a rasterized data byreceiving a non-rasterized page description language data and a sourcetransformation matrix representing source transformation operations, thesource transformation operations being a source rotation transformationoperation, a source scaling transformation operation, and a sourcetranslation transformation operation; rasterizing the non-rasterizedpage description language data; determining an order of transformationoperations to be performed upon the rasterized data; generating, fromthe source transformation matrix, a rotation transformation matrix and ascaling transformation matrix based upon a rotation scaling order of thedetermined order of transformation operations; generating a translationtransformation matrix from the generated rotation and scalingtransformation matrices; creating a target transformation matrix bymatrix multiplying the generated rotation transformation matrix, thegenerated scaling transformation matrix, and the generatedtransformation operation in a matrix order corresponding to thedetermined order of transformation operations to be performed upon therasterized data; decomposing the target transformation matrix into aplurality of individual transformation operation matrices, eachtransformational operation matrix representing an independenttransformation operation; generating a discrete transformation operationvalue, from a corresponding individual transformation operation matrix,for each transformation operation to be performed upon the rasterizeddata; and performing the transformation operations upon the rasterizeddata based upon the generated discrete transformation operation values.

It is noted that the source transformation matrix is defined by userdefined operations, by system defined operations, or a combinationthereof.

Alternatively, a method and/or system may control imaging operations ofa rendering device by receiving a non-rasterized page descriptionlanguage data to be rendered; creating a source transformation matrixrepresenting source transformation operations, the source transformationoperations being a source rotation transformation operation, a sourcescaling transformation operation, and a source translationtransformation operation; rasterizing the received image; determining anorder of transformation operations to be performed upon the rasterizeddata; generating, from the source transformation matrix, a rotationtransformation matrix and a scaling transformation matrix based upon arotation scaling order of the determined order of transformationoperations; generating a translation transformation matrix from thegenerated rotation and scaling transformation matrices; creating atarget transformation matrix by matrix multiplying the generatedrotation transformation matrix, the generated scaling transformationmatrix, and the generated transformation operation in a matrix ordercorresponding to the determined order of transformation operations to beperformed upon the rasterized data; decomposing the targettransformation matrix into a plurality of individual transformationoperation matrices, each transformational operation matrix representingan independent transformation operation; generating a discretetransformation operation value, from a corresponding individualtransformational operation matrix, for each transformation operation tobe performed upon the rasterized data; and transforming the rasterizeddata based upon the generated discrete transformation operation values.

It is noted that the source transformation matrix is defined by userdefined operations, by system defined operations, or a combinationthereof.

Also, a method and/or system may control imaging operations of arendering device by receiving a non-rasterized page description languagedata to be rendered; rasterizing the received image; creating, postrasterization, a source transformation matrix representingtransformation operations; determining an order of transformationoperations to be performed upon the rasterized data; generating, fromthe source transformation matrix, a rotation transformation matrix and ascaling transformation matrix based upon a rotation scaling order of thedetermined order of transformation operations; generating a translationtransformation matrix from the generated rotation and scalingtransformation matrices; creating a target transformation matrix bymatrix multiplying the generated rotation transformation matrix, thegenerated scaling transformation matrix, and the generatedtransformation operation in a matrix order corresponding to thedetermined order of transformation operations to be performed upon therasterized data; decomposing the target transformation matrix into aplurality of individual transformation operation matrices, eachtransformational operation matrix representing an independenttransformation operation; generating a discrete transformation operationvalue, from a corresponding individual transformational operationmatrix, for each transformation operation to be performed upon therasterized data; and transforming the rasterized data based upon thegenerated discrete transformation operation values.

It is noted that the source transformation matrix is defined by userdefined operations, by system defined operations, or a combinationthereof.

Furthermore, a method and/or system may control imaging operations of arendering device by receiving a non-rasterized page description languagedata and a source transformation matrix, the source transformationmatrix being a transformation matrix created by an ordered matrixmultiplication of a plurality of individual transformation operationmatrices, each individual transformation operation matrix representing arotation transformation operation, a scaling transformation operation,or a translation transformation operation; rasterizing thenon-rasterized page description language data; determining an order oftransformation operations to be performed upon the rasterized data;generating, from the source transformation matrix, a rotationtransformation matrix and a scaling transformation matrix based upon arotation scaling order of the determined order of transformationoperations; generating a translation transformation matrix from thegenerated rotation and scaling transformation matrices; creating atarget transformation matrix by matrix multiplying the generatedrotation transformation matrix, the generated scaling transformationmatrix, and the generated transformation operation in a matrix ordercorresponding to the determined order of transformation operations to beperformed upon the rasterized data; decomposing the targettransformation matrix into a plurality of individual transformationoperation matrices, each transformational operation matrix representingan independent transformation operation; generating a discretetransformation operation value, from a corresponding individualtransformation operation matrix, for each transformation operation to beperformed upon the rasterized data; and performing the transformationoperations upon the rasterized data based upon the generated discretetransformation operation values.

It is noted that the source transformation matrix is defined by userdefined operations, by system defined operations, or a combinationthereof.

Moreover, a method and/or system may control imaging operations of arendering device by receiving a non-rasterized page description languagedata to be rendered; creating a source transformation matrix, the sourcetransformation matrix being a transformation matrix created by anordered matrix multiplication of a plurality of individualtransformation operation matrices, each individual transformationoperation matrix representing a rotation transformation operation, ascaling transformation operation, or a source translation transformationoperation; rasterizing the received image; determining an order oftransformation operations to be performed upon the rasterized data;generating, from the source transformation matrix, a rotationtransformation matrix and a scaling transformation matrix based upon arotation scaling order of the determined order of transformationoperations; generating a translation transformation matrix from thegenerated rotation and scaling transformation matrices; creating atarget transformation matrix by matrix multiplying the generatedrotation transformation matrix, the generated scaling transformationmatrix, and the generated transformation operation in a matrix ordercorresponding to the determined order of transformation operations to beperformed upon the rasterized data; decomposing the targettransformation matrix into a plurality of individual transformationoperation matrices, each transformational operation matrix representingan independent transformation operation; generating a discretetransformation operation value, from a corresponding individualtransformational operation matrix, for each transformation operation tobe performed upon the rasterized data; and transforming the rasterizeddata based upon the generated discrete transformation operation values.

It is noted that the source transformation matrix is defined by userdefined operations, by system defined operations, or a combinationthereof.

Lastly, a method and/or system may control imaging operations of arendering device by receiving a non-rasterized page description languagedata to be rendered; rasterizing the received image; creating, postrasterization, a source transformation matrix, the source transformationmatrix being a transformation matrix created by an ordered matrixmultiplication of a plurality of individual transformation operationmatrices, each individual transformation operation matrix representing arotation transformation operation, a scaling transformation operation,or a source translation transformation operation; determining an orderof transformation operations to be performed upon the rasterized data;generating, from the source transformation matrix, a rotationtransformation matrix and a scaling transformation matrix based upon arotation scaling order of the determined order of transformationoperations; generating a translation transformation matrix from thegenerated rotation and scaling transformation matrices; creating atarget transformation matrix by matrix multiplying the generatedrotation transformation matrix, the generated scaling transformationmatrix, and the generated transformation operation in a matrix ordercorresponding to the determined order of transformation operations to beperformed upon the rasterized data; decomposing the targettransformation matrix into a plurality of individual transformationoperation matrices, each transformational operation matrix representingan independent transformation operation; generating a discretetransformation operation value, from a corresponding individualtransformational operation matrix, for each transformation operation tobe performed upon the rasterized data; and transforming the rasterizeddata based upon the generated discrete transformation operation values.

It is noted that the source transformation matrix is defined by userdefined operations, by system defined operations, or a combinationthereof.

A method of rendering rasterized data may receive non-rasterized pagedescription language data and a corresponding transformation matrixrepresenting transformation operations to be performed; rasterize thenon-rasterized page description language data to create rasterized data;decompose the corresponding transformation matrix into a rotationtransformation operation matrix, a first scaling transformationoperation matrix, and a translation transformation operation matrix;decompose the first scaling transformation operation matrix into a sheartransformation operation matrix and a second scaling transformationoperation matrix; generate a discrete rotation transformation operationvalue from the rotation transformation operation matrix; generate adiscrete scaling transformation operation value from the second scalingtransformation operation matrix; generate a discrete translationtransformation operation value from the translation transformationoperation matrix; generate a discrete shear transformation operationvalue from the shear transformation operation matrix; and performtransformation operations upon the rasterized data based upon thegenerated discrete transformation operation values.

The corresponding transformation matrix may be decomposed in an ordercorresponding to an order of the transformation operations beingperformed upon the rasterized data. The first scaling transformationmatrix may be decomposed in an order corresponding to an order of thescaling transformation operation and shear transformation operationbeing performed upon the rasterized data. The correspondingtransformation matrix may represent a device independent transformationoperation.

A method of controlling imaging operations of a rendering device mayreceive a non-rasterized page description language data to be rendered;create a transformation matrix representing transformation operations;rasterize the received image; decompose the transformation matrix into arotation transformation operation matrix, a first scaling transformationoperation matrix, and a translation transformation operation matrix;decompose the first scaling transformation operation matrix into a sheartransformation operation matrix and a second scaling transformationoperation matrix; generate a discrete rotation transformation operationvalue from the rotation transformation operation matrix; generate adiscrete scaling transformation operation value from the second scalingtransformation operation matrix; generate a discrete translationtransformation operation value from the translation transformationoperation matrix; generate a discrete shear transformation operationvalue from the shear transformation operation matrix; and performtransformation operations upon the rasterized data based upon thegenerated discrete transformation operation values.

The transformation matrix may be decomposed in an order corresponding toan order of the transformation operations being performed upon therasterized data. The first scaling transformation matrix may bedecomposed in an order corresponding to an order of the scalingtransformation operation and shear transformation operation beingperformed upon the rasterized data. The transformation matrix mayrepresent a device independent transformation operation.

The transformation matrix may be decomposed in an order corresponding toan order of the transformation operations being performed upon therasterized data. The first scaling transformation matrix may bedecomposed in an order corresponding to an order of the scalingtransformation operation and shear transformation operation beingperformed upon the rasterized data. The transformation matrix mayrepresent a device independent transformation operation.

A method of controlling imaging operations of a rendering device mayreceive a non-rasterized page description language data to be rendered;rasterize the received image; create, post rasterization, atransformation matrix representing transformation operations; decomposethe transformation matrix into a rotation transformation operationmatrix, a first scaling transformation operation matrix, and atranslation transformation operation matrix; decompose the first scalingtransformation operation matrix into a shear transformation operationmatrix and a second scaling transformation operation matrix; generate adiscrete rotation transformation operation value from the rotationtransformation operation matrix; generate a discrete scalingtransformation operation value from the second scaling transformationoperation matrix; generate a discrete translation transformationoperation value from the translation transformation operation matrix;generate a discrete shear transformation operation value from the sheartransformation operation matrix; and transform the rasterized data basedupon the generated discrete transformation operation values.

The transformation matrix may be decomposed in an order corresponding toan order of the transformation operations being performed upon therasterized data. The first scaling transformation matrix may bedecomposed in an order corresponding to an order of the scalingtransformation operation and shear transformation operation beingperformed upon the rasterized data. The transformation matrix mayrepresent a device independent transformation operation.

A system for rendering a rasterized data may include a rasterizingcircuit to rasterize a non-rasterized page description language data,the non-rasterized page description language data having a correspondingtransformation matrix representing transformation operations to beperformed; a transformation matrix decomposing circuit to decompose thecorresponding transformation matrix representing transformationoperations to be performed and to generate a discrete transformationoperation value, from a corresponding individual transformationoperation matrix, for each transformation operation to be performed uponthe rasterized data; and a plurality of post-rasterizationtransformation circuits, operatively connected to the rasterizingcircuit and the transformation matrix decomposing circuit, to performtransformation operations upon the rasterized data. The plurality ofpost-rasterization transformation circuits are a predetermined order forperforming the transformation operations upon the rasterized data in thepredetermined order.

The transformation matrix decomposing circuit decomposes thecorresponding transformation matrix into a rotation transformationoperation matrix, a first scaling transformation operation matrix, and atranslation transformation operation matrix.

The transformation matrix decomposing circuit decomposes the firstscaling transformation operation matrix into a shear transformationoperation matrix and a second scaling transformation operation matrix.

The transformation matrix decomposing circuit decomposes thecorresponding transformation matrix in an order corresponding to thepredetermined order for performing the transformation operations uponthe rasterized data.

The transformation matrix decomposing circuit decomposes the firstscaling transformation matrix in an order corresponding to an order ofthe scaling transformation operation and shear transformation operationbeing performed upon the rasterized data.

The transformation matrix decomposing circuit generates a discreterotation transformation operation value from the rotation transformationoperation matrix. The transformation matrix decomposing circuitgenerates a discrete scaling transformation operation value from thesecond scaling transformation operation matrix. The transformationmatrix decomposing circuit generates a discrete translationtransformation operation value from the translation transformationoperation matrix. The transformation matrix decomposing circuitgenerates a discrete shear transformation operation value from the sheartransformation operation matrix.

The plurality of post-rasterization transformation circuits utilizes thegenerated discrete transformation operation values to control thetransformation operations upon the rasterized data.

The corresponding transformation matrix may represent a deviceindependent transformation operation. The corresponding transformationmatrix may be defined by user defined operations. The systemcorresponding transformation matrix may be defined by system definedoperations.

A system for rendering a rasterized data may include a rasterizingcircuit to rasterize a non-rasterized page description language data; atransformation matrix circuit for generating a transformation matrixrepresenting transformation operations; a transformation matrixdecomposing circuit to decompose the generated transformation matrixrepresenting transformation operations and to generate a discretetransformation operation value, from a corresponding individualtransformation operation matrix, for each transformation operation to beperformed upon the rasterized data; and a plurality ofpost-rasterization transformation circuits, operatively connected tosaid rasterizing circuit and said transformation matrix decomposingcircuit, to perform transformation operations upon the rasterized data.

The plurality of post-rasterization transformation circuits are apredetermined order for performing the transformation operations uponthe rasterized data in the predetermined order.

The transformation matrix decomposing circuit decomposes thetransformation matrix into a rotation transformation operation matrix, afirst scaling transformation operation matrix, and a translationtransformation operation matrix. The transformation matrix decomposingcircuit decomposes the first scaling transformation operation matrixinto a shear transformation operation matrix and a second scalingtransformation operation matrix. The transformation matrix decomposingcircuit decomposes the corresponding transformation matrix in an ordercorresponding to the predetermined order for performing thetransformation operations upon the rasterized data. The transformationmatrix decomposing circuit decomposes the first scaling transformationmatrix in an order corresponding to an order of the scalingtransformation operation and shear transformation operation beingperformed upon the rasterized data.

The transformation matrix decomposing circuit generates a discreterotation transformation operation value from the rotation transformationoperation matrix. The transformation matrix decomposing circuitgenerates a discrete scaling transformation operation value from thesecond scaling transformation operation matrix. The transformationmatrix decomposing circuit generates a discrete translationtransformation operation value from the translation transformationoperation matrix. The transformation matrix decomposing circuitgenerates a discrete shear transformation operation value from the sheartransformation operation matrix.

The plurality of post-rasterization transformation circuits utilizes thegenerated discrete transformation operation values to control thetransformation operations upon the rasterized data.

The system transformation matrix may be defined by user definedoperations. The system transformation matrix may be defined by systemdefined operations. The system transformation matrix circuit maygenerate a transformation matrix representing transformation operationsbefore rasterization of the non-rasterized page description languagedata.

A method of rendering a rasterized data receives a non-rasterized pagedescription language data and a source transformation matrixrepresenting source transformation operations, the source transformationoperations being a source rotation transformation operation, a sourcescaling transformation operation, and a source translationtransformation operation; rasterizes the non-rasterized page descriptionlanguage data; generates, from the source transformation matrix, arotation dependent scaling transformation matrix and a rotationdependent translation transformation matrix; determines an order oftransformation operations to be performed upon the rasterized data;creates a target transformation matrix by matrix multiplying therotation dependent scaling transformation matrix, the rotation dependenttranslation transformation matrix, and the source rotationtransformation operation in a matrix order corresponding to thedetermined order of transformation operations to be performed upon therasterized data; decomposes the corresponding transformation matrix intoa rotation transformation operation matrix, a first scalingtransformation operation matrix, and a translation transformationoperation matrix; decomposes the first scaling transformation operationmatrix into a shear transformation operation matrix and a second scalingtransformation operation matrix; generates a discrete rotationtransformation operation value from the rotation transformationoperation matrix; generates a discrete scaling transformation operationvalue from the second scaling transformation operation matrix; generatesa discrete translation transformation operation value from thetranslation transformation operation matrix; generates a discrete sheartransformation operation value from the shear transformation operationmatrix; and performs transformation operations upon the rasterized databased upon the generated discrete transformation operation values.

The corresponding transformation matrix may be decomposed in an ordercorresponding to an order of the transformation operations beingperformed upon the rasterized data. The e first scaling transformationmatrix may be decomposed in an order corresponding to an order of thescaling transformation operation and shear transformation operationbeing performed upon the rasterized data. The correspondingtransformation matrix may represent a device independent transformationoperation.

A method of controlling imaging operations of a rendering devicereceives a non-rasterized page description language data to be rendered;creates a source transformation matrix representing sourcetransformation operations, the source transformation operations being asource rotation transformation operation, a source scalingtransformation operation, and a source translation transformationoperation; rasterizes the received image; generates, from the sourcetransformation matrix, a rotation dependent scaling transformationmatrix and a rotation dependent translation transformation matrix;determines an order of transformation operations to be performed uponthe rasterized data; creates a target transformation matrix by matrixmultiplying the rotation dependent scaling transformation matrix, therotation dependent translation transformation matrix, and the sourcerotation transformation operation in a matrix order corresponding to thedetermined order of transformation operations to be performed upon therasterized data; decomposes the corresponding transformation matrix intoa rotation transformation operation matrix, a first scalingtransformation operation matrix, and a translation transformationoperation matrix; decomposes the first scaling transformation operationmatrix into a shear transformation operation matrix and a second scalingtransformation operation matrix; generates a discrete rotationtransformation operation value from the rotation transformationoperation matrix; generates a discrete scaling transformation operationvalue from the second scaling transformation operation matrix; generatesa discrete translation transformation operation value from thetranslation transformation operation matrix; generates a discrete sheartransformation operation value from the shear transformation operationmatrix; and transform the rasterized data based upon the generateddiscrete transformation operation values.

The method transformation matrix may be decomposed in an ordercorresponding to an order of the transformation operations beingperformed upon the rasterized data. The first scaling transformationmatrix may be decomposed in an order corresponding to an order of thescaling transformation operation and shear transformation operationbeing performed upon the rasterized data. The transformation matrix mayrepresent a device independent transformation operation.

A method of controlling imaging operations of a rendering devicereceives a non-rasterized page description language data to be rendered;rasterizes the received image; creates, post rasterization, a sourcetransformation matrix representing transformation operations; generates,from the source transformation matrix, a rotation dependent scalingtransformation matrix and a rotation dependent translationtransformation matrix; determines an order of transformation operationsto be performed upon the rasterized data; creates a targettransformation matrix by matrix multiplying the rotation dependentscaling transformation matrix, the rotation dependent translationtransformation matrix, and the source rotation transformation operationin a matrix order corresponding to the determined order oftransformation operations to be performed upon the rasterized data;decomposes the transformation matrix into a rotation transformationoperation matrix, a first scaling transformation operation matrix, and atranslation transformation operation matrix; decomposes the firstscaling transformation operation matrix into a shear transformationoperation matrix and a second scaling transformation operation matrix;generates a discrete rotation transformation operation value from therotation transformation operation matrix; generates a discrete scalingtransformation operation value from the second scaling transformationoperation matrix; generates a discrete translation transformationoperation value from the translation transformation operation matrix;generates a discrete shear transformation operation value from the sheartransformation operation matrix; and transform the rasterized data basedupon the generated discrete transformation operation values.

The transformation matrix may be decomposed in an order corresponding toan order of the transformation operations being performed upon therasterized data. The first scaling transformation matrix may bedecomposed in an order corresponding to an order of the scalingtransformation operation and shear transformation operation beingperformed upon the rasterized data. The method transformation matrix mayrepresent a device independent transformation operation.

A system for rendering a rasterized data includes a rasterizing circuitto rasterize a non-rasterized page description language data, thenon-rasterized page description language data having a sourcetransformation matrix representing source transformation operations, thesource transformation operations being a source rotation transformationoperation, a source scaling transformation operation, and a sourcetranslation transformation operation; and a processor to generate, fromthe source transformation matrix, a rotation dependent scalingtransformation matrix and a rotation dependent translationtransformation matrix.

The processor determines an order of transformation operations to beperformed upon the rasterized data and creates a target transformationmatrix by matrix multiplying the rotation dependent scalingtransformation matrix, the rotation dependent translation transformationmatrix, and the source rotation transformation operation in a matrixorder corresponding to the determined order of transformation operationsto be performed upon the rasterized data.

The processor decomposes the corresponding transformation matrix into arotation transformation operation matrix, a first scaling transformationoperation matrix, and a translation transformation operation matrix andthe processor decomposes the first scaling transformation operationmatrix into a shear transformation operation matrix and a second scalingtransformation operation matrix.

The processor generates a discrete rotation transformation operationvalue from the rotation transformation operation matrix; a discretescaling transformation operation value from the second scalingtransformation operation matrix; a discrete translation transformationoperation value from the translation transformation operation matrix;and a discrete shear transformation operation value from the sheartransformation operation matrix.

The system further includes a plurality of post-rasterizationtransformation circuits, operatively connected to the rasterizingcircuit and the transformation matrix decomposing circuit, to performtransformation operations upon the rasterized data.

The corresponding transformation matrix may represent a deviceindependent transformation operation. The corresponding transformationmatrix may be defined by user defined operations. The correspondingtransformation matrix may be defined by system defined operations.

A system for rendering a rasterized data includes a rasterizing circuitto rasterize a non-rasterized page description language data; atransformation matrix circuit for generating a source transformationmatrix representing source transformation operations, the sourcetransformation operations being a source rotation transformationoperation, a source scaling transformation operation, and a sourcetranslation transformation operation; and a processor to generate, fromthe source transformation matrix, a rotation dependent scalingtransformation matrix and a rotation dependent translationtransformation matrix.

The processor determines an order of transformation operations to beperformed upon the rasterized data and creates a target transformationmatrix by matrix multiplying the rotation dependent scalingtransformation matrix, the rotation dependent translation transformationmatrix, and the source rotation transformation operation in a matrixorder corresponding to the determined order of transformation operationsto be performed upon the rasterized data.

The processor decomposes the corresponding transformation matrix into arotation transformation operation matrix, a first scaling transformationoperation matrix, and a translation transformation operation matrix anddecomposes the first scaling transformation operation matrix into ashear transformation operation matrix and a second scalingtransformation operation matrix.

The processor generates a discrete rotation transformation operationvalue from the rotation transformation operation matrix; a discretescaling transformation operation value from the second scalingtransformation operation matrix; a discrete translation transformationoperation value from the translation transformation operation matrix;and a discrete shear transformation operation value from the sheartransformation operation matrix.

The system further includes a plurality of post-rasterizationtransformation circuits, operatively connected to the rasterizingcircuit and the transformation matrix decomposing circuit, to performtransformation operations upon the rasterized data.

The transformation matrix may represent a device independenttransformation operation. The transformation matrix circuit may generatea transformation matrix representing transformation operations beforerasterization of the non-rasterized page description language data. Thetransformation matrix circuit may generate a transformation matrixrepresenting transformation operations after rasterization of thenon-rasterized page description language data.

A method of rendering rasterized data receives a non-rasterized pagedescription language data and a source transformation matrix, the sourcetransformation matrix being a transformation matrix created by anordered matrix multiplication of a plurality of individualtransformation operation matrices, each individual transformationoperation matrix representing a rotation transformation operation, ascaling transformation operation, or a source translation transformationoperation; rasterizes the non-rasterized page description language data;generates, from the source transformation matrix, a rotationtransformation matrix, a scaling transformation matrix and a translationtransformation matrix based on a predetermined matrix order; determinesa rotation value from the rotation transformation matrix; determines anorder of transformation operations to be performed upon the rasterizeddata; creates an order dependent rotation dependent scalingtransformation matrix and an order dependent rotation dependenttranslation transformation matrix; creates a target transformationmatrix by matrix multiplying the rotation dependent scalingtransformation matrix, the rotation dependent translation transformationmatrix, and the rotation transformation operation in a matrix ordercorresponding to the determined order of transformation operations to beperformed upon the rasterized data; decomposes the correspondingtransformation matrix into a rotation transformation operation matrix, afirst scaling transformation operation matrix, and a translationtransformation operation matrix; decomposes the first scalingtransformation operation matrix into a shear transformation operationmatrix and a second scaling transformation operation matrix; generates adiscrete rotation transformation operation value from the rotationtransformation operation matrix; generates a discrete scalingtransformation operation value from the second scaling transformationoperation matrix; generates a discrete translation transformationoperation value from the translation transformation operation matrix;generates a discrete shear transformation operation value from the sheartransformation operation matrix; and performs transformation operationsupon the rasterized data based upon the generated discretetransformation operation values.

The corresponding transformation matrix may be decomposed in an ordercorresponding to an order of the transformation operations beingperformed upon the rasterized data. The first scaling transformationmatrix may be decomposed in an order corresponding to an order of thescaling transformation operation and shear transformation operationbeing performed upon the rasterized data. The correspondingtransformation matrix may represent a device independent transformationoperation.

A method of controlling imaging operations of a rendering devicereceives a non-rasterized page description language data to be rendered;creates a source transformation matrix, the source transformation matrixbeing a transformation matrix created by an ordered matrixmultiplication of a plurality of individual transformation operationmatrices, each individual transformation operation matrix representing arotation transformation operation, a scaling transformation operation,or a source translation transformation operation; rasterizes thereceived image; generates, from the source transformation matrix, arotation transformation matrix, a scaling transformation matrix and atranslation transformation matrix based on a predetermined matrix order;determines a rotation value from the rotation transformation matrix;determines an order of transformation operations to be performed uponthe rasterized data; creates an order dependent rotation dependentscaling transformation matrix and an order dependent rotation dependenttranslation transformation matrix; creates a target transformationmatrix by matrix multiplying the rotation dependent scalingtransformation matrix, the rotation dependent translation transformationmatrix, and the rotation transformation operation in a matrix ordercorresponding to the determined order of transformation operations to beperformed upon the rasterized data; decomposes the target transformationmatrix representing the transformation operations into a plurality ofordered transformational operation matrices, each transformationaloperation matrix representing an independent transformation operation;generates a discrete transformation operation value, from acorresponding individual transformational operation matrix, for eachtransformation operation to be performed upon the rasterized data; andtransform the rasterized data based upon the generated discretetransformation operation values.

The transformation matrix may be decomposed in an order corresponding toan order of the transformation operations being performed upon therasterized data. The first scaling transformation matrix may bedecomposed in an order corresponding to an order of the scalingtransformation operation and shear transformation operation beingperformed upon the rasterized data. The transformation matrix mayrepresent a device independent transformation operation.

A system for rendering rasterized data includes a rasterizing circuit torasterize a non-rasterized page description language data, thenon-rasterized page description language data having a sourcetransformation matrix representing source transformation operations, thesource transformation operations being a source rotation transformationoperation, a source scaling transformation operation, and a sourcetranslation transformation operation; and a processor to generate, fromthe source transformation matrix, a rotation transformation matrix, ascaling transformation matrix and a translation transformation matrixbased on a predetermined matrix order.

The processor determines a rotation value from the rotationtransformation matrix and determines an order of transformationoperations to be performed upon the rasterized data. The processorcreates an order dependent rotation dependent scaling transformationmatrix and an order dependent rotation dependent translationtransformation matrix and creates a target transformation matrix bymatrix multiplying the rotation dependent scaling transformation matrix,the rotation dependent translation transformation matrix, and therotation transformation operation in a matrix order corresponding to thedetermined order of transformation operations to be performed upon therasterized data.

The processor decomposes the corresponding transformation matrix into arotation transformation operation matrix, a first scaling transformationoperation matrix, and a translation transformation operation matrix anddecomposes the first scaling transformation operation matrix into ashear transformation operation matrix and a second scalingtransformation operation matrix.

The processor generates a discrete rotation transformation operationvalue from the rotation transformation operation matrix; a discretescaling transformation operation value from the second scalingtransformation operation matrix; a discrete translation transformationoperation value from the translation transformation operation matrix;and a discrete shear transformation operation value from the sheartransformation operation matrix.

The system further includes a plurality of post-rasterizationtransformation circuits, operatively connected to the rasterizingcircuit and the transformation matrix decomposing circuit, to performtransformation operations upon the rasterized data.

The corresponding transformation matrix may represent a deviceindependent transformation operation. The corresponding transformationmatrix may be defined by user defined operations. The correspondingtransformation matrix may be defined by system defined operations.

A system for rendering a rasterized data includes a rasterizing circuitto rasterize a non-rasterized page description language data; atransformation matrix circuit for generating a source transformationmatrix representing source transformation operations, the sourcetransformation operations being a source rotation transformationoperation, a source scaling transformation operation, and a sourcetranslation transformation operation; and a processor to generate, fromthe source transformation matrix, a rotation transformation matrix, ascaling transformation matrix and a translation transformation matrixbased on a predetermined matrix order.

The processor determines a rotation value from the rotationtransformation matrix and determines an order of transformationoperations to be performed upon the rasterized data. The processorcreates an order dependent rotation dependent scaling transformationmatrix and an order dependent rotation dependent translationtransformation matrix and creates a target transformation matrix bymatrix multiplying the rotation dependent scaling transformation matrix,the rotation dependent translation transformation matrix, and therotation transformation operation in a matrix order corresponding to thedetermined order of transformation operations to be performed upon therasterized data.

The processor decomposes the corresponding transformation matrix into arotation transformation operation matrix, a first scaling transformationoperation matrix, and a translation transformation operation matrix anddecomposes the first scaling transformation operation matrix into ashear transformation operation matrix and a second scalingtransformation operation matrix.

The processor generates a discrete rotation transformation operationvalue from the rotation transformation operation matrix; a discretescaling transformation operation value from the second scalingtransformation operation matrix; a discrete translation transformationoperation value from the translation transformation operation matrix;and a discrete shear transformation operation value from the sheartransformation operation matrix.

The system further includes a plurality of post-rasterizationtransformation circuits, operatively connected to the rasterizingcircuit and the transformation matrix decomposing circuit, to performtransformation operations upon the rasterized data.

The transformation matrix may represent a device independenttransformation operation. The transformation matrix may be defined byuser defined operations. The transformation matrix may be defined bysystem defined operations. The transformation matrix circuit maygenerate a transformation matrix representing transformation operationsbefore rasterization of the non-rasterized page description languagedata. The transformation matrix circuit may generate a transformationmatrix representing transformation operations after rasterization of thenon-rasterized page description language data. The transformation matrixcircuit may generate a transformation matrix representing transformationoperations before and after rasterization of the non-rasterized pagedescription language data. The non-rasterized page description languagedata may be vector-graphic based data.

A method of rendering rasterized data receives a non-rasterized pagedescription language data and a source transformation matrixrepresenting source transformation operations, the source transformationoperations being a source rotation transformation operation, a sourcescaling transformation operation, and a source translationtransformation operation; rasterizes the non-rasterized page descriptionlanguage data; determines an order of transformation operations to beperformed upon the rasterized data; generates, from the sourcetransformation matrix, a rotation transformation matrix and a scalingtransformation matrix based upon a rotation scaling order of thedetermined order of transformation operations; generates a translationtransformation matrix from the generated rotation and scalingtransformation matrices; creates a target transformation matrix bymatrix multiplying the generated rotation transformation matrix, thegenerated scaling transformation matrix, and the generatedtransformation operation in a matrix order corresponding to thedetermined order of transformation operations to be performed upon therasterized data; decomposes the corresponding transformation matrix intoa rotation transformation operation matrix, a first scalingtransformation operation matrix, and a translation transformationoperation matrix; decomposes the first scaling transformation operationmatrix into a shear transformation operation matrix and a second scalingtransformation operation matrix; generates a discrete rotationtransformation operation value from the rotation transformationoperation matrix; generates a discrete scaling transformation operationvalue from the second scaling transformation operation matrix; generatesa discrete translation transformation operation value from thetranslation transformation operation matrix; generates a discrete sheartransformation operation value from the shear transformation operationmatrix; and performs transformation operations upon the rasterized databased upon the generated discrete transformation operation values.

The corresponding transformation matrix may be decomposed in an ordercorresponding to an order of the transformation operations beingperformed upon the rasterized data. The first scaling transformationmatrix may be decomposed in an order corresponding to an order of thescaling transformation operation and shear transformation operationbeing performed upon the rasterized data. The source transformationmatrix may be a transformation matrix created by an ordered matrixmultiplication of a plurality of individual transformation operationmatrices, each individual transformation operation matrix representing arotation transformation operation, a scaling transformation operation,or a source translation transformation operation.

A method of controlling imaging operations of a rendering devicereceives a non-rasterized page description language data to be rendered;creates a source transformation matrix representing sourcetransformation operations, the source transformation operations being asource rotation transformation operation, a source scalingtransformation operation, and a source translation transformationoperation; rasterizes the received image; determines an order oftransformation operations to be performed upon the rasterized data;generates, from the source transformation matrix, a rotationtransformation matrix and a scaling transformation matrix based upon arotation scaling order of the determined order of transformationoperations; generates a translation transformation matrix from thegenerated rotation and scaling transformation matrices; creates a targettransformation matrix by matrix multiplying the generated rotationtransformation matrix, the generated scaling transformation matrix, andthe generated transformation operation in a matrix order correspondingto the determined order of transformation operations to be performedupon the rasterized data; decomposes the transformation matrix into arotation transformation operation matrix, a first scaling transformationoperation matrix, and a translation transformation operation matrix;decomposes the first scaling transformation operation matrix into ashear transformation operation matrix and a second scalingtransformation operation matrix; generates a discrete rotationtransformation operation value from the rotation transformationoperation matrix; generates a discrete scaling transformation operationvalue from the second scaling transformation operation matrix; generatesa discrete translation transformation operation value from thetranslation transformation operation matrix; generates a discrete sheartransformation operation value from the shear transformation operationmatrix; and transform the rasterized data based upon the generateddiscrete transformation operation values.

The corresponding transformation matrix may be decomposed in an ordercorresponding to an order of the transformation operations beingperformed upon the rasterized data. The first scaling transformationmatrix may be decomposed in an order corresponding to an order of thescaling transformation operation and shear transformation operationbeing performed upon the rasterized data. The source transformationmatrix may be a transformation matrix created by an ordered matrixmultiplication of a plurality of individual transformation operationmatrices, each individual transformation operation matrix representing arotation transformation operation, a scaling transformation operation,or a source translation transformation operation.

A method of controlling imaging operations of a rendering devicereceives a non-rasterized page description language data to be rendered;rasterizes the received image; creates, post rasterization, a sourcetransformation matrix representing transformation operations; determinesan order of transformation operations to be performed upon therasterized data; generates, from the source transformation matrix, arotation transformation matrix and a scaling transformation matrix basedupon a rotation scaling order of the determined order of transformationoperations; generates a translation transformation matrix from thegenerated rotation and scaling transformation matrices; creates a targettransformation matrix by matrix multiplying the generated rotationtransformation matrix, the generated scaling transformation matrix, andthe generated transformation operation in a matrix order correspondingto the determined order of transformation operations to be performedupon the rasterized data; decomposes the transformation matrix into arotation transformation operation matrix, a first scaling transformationoperation matrix, and a translation transformation operation matrix;decomposes the first scaling transformation operation matrix into ashear transformation operation matrix and a second scalingtransformation operation matrix; generates a discrete rotationtransformation operation value from the rotation transformationoperation matrix; generates a discrete scaling transformation operationvalue from the second scaling transformation operation matrix; generatesa discrete translation transformation operation value from thetranslation transformation operation matrix; generates a discrete sheartransformation operation value from the shear transformation operationmatrix; and transform the rasterized data based upon the generateddiscrete transformation operation values.

The corresponding transformation matrix may be decomposed in an ordercorresponding to an order of the transformation operations beingperformed upon the rasterized data. The first scaling transformationmatrix may be decomposed in an order corresponding to an order of thescaling transformation operation and shear transformation operationbeing performed upon the rasterized data. The source transformationmatrix may be a transformation matrix created by an ordered matrixmultiplication of a plurality of individual transformation operationmatrices, each individual transformation operation matrix representing arotation transformation operation, a scaling transformation operation,or a source translation transformation operation.

A system for rendering rasterized data includes a rasterizing circuit torasterize a non-rasterized page description language data, thenon-rasterized page description language data having a sourcetransformation matrix representing source transformation operations, thesource transformation operations being a source rotation transformationoperation, a source scaling transformation operation, and a sourcetranslation transformation operation; and a processor to determine anorder of transformation operations to be performed upon the rasterizeddata.

The processor generates, from the source transformation matrix, arotation transformation matrix and a scaling transformation matrix basedupon a rotation scaling order of the determined order of transformationoperations and generates a translation transformation matrix from thegenerated rotation and scaling transformation matrices.

The processor creates a target transformation matrix by matrixmultiplying the generated rotation transformation matrix, the generatedscaling transformation matrix, and the generated transformationoperation in a matrix order corresponding to the determined order oftransformation operations to be performed upon the rasterized data.

The processor decomposes the corresponding transformation matrix into arotation transformation operation matrix, a first scaling transformationoperation matrix, and a translation transformation operation matrix anddecomposes the first scaling transformation operation matrix into ashear transformation operation matrix and a second scalingtransformation operation matrix.

The processor generates a discrete rotation transformation operationvalue from the rotation transformation operation matrix; a discretescaling transformation operation value from the second scalingtransformation operation matrix; a discrete translation transformationoperation value from the translation transformation operation matrix;and a discrete shear transformation operation value from the sheartransformation operation matrix.

The system further includes a plurality of post-rasterizationtransformation circuits, operatively connected to the rasterizingcircuit and the transformation matrix decomposing circuit, to performtransformation operations upon the rasterized data.

The corresponding transformation matrix may represent a deviceindependent transformation operation. The corresponding transformationmatrix may represent device independent rotation, scaling, shear, andtranslation operations. The source transformation matrix may be atransformation matrix created by an ordered matrix multiplication of aplurality of individual transformation operation matrices, eachindividual transformation operation matrix representing a rotationtransformation operation, a scaling transformation operation, or asource translation transformation operation.

A system for rendering rasterized data includes a rasterizing circuit torasterize a non-rasterized page description language data; atransformation matrix circuit for generating a source transformationmatrix representing source transformation operations, the sourcetransformation operations being a source rotation transformationoperation, a source scaling transformation operation, and a sourcetranslation transformation operation; and a processor to determine anorder of transformation operations to be performed upon the rasterizeddata.

The processor generates, from the source transformation matrix, arotation transformation matrix and a scaling transformation matrix basedupon a rotation scaling order of the determined order of transformationoperations and generates a translation transformation matrix from thegenerated rotation and scaling transformation matrices.

The processor creates a target transformation matrix by matrixmultiplying the generated rotation transformation matrix, the generatedscaling transformation matrix, and the generated transformationoperation in a matrix order corresponding to the determined order oftransformation operations to be performed upon the rasterized data.

The processor decomposes the corresponding transformation matrix into arotation transformation operation matrix, a first scaling transformationoperation matrix, and a translation transformation operation matrix anddecomposes the first scaling transformation operation matrix into ashear transformation operation matrix and a second scalingtransformation operation matrix.

The processor generates a discrete rotation transformation operationvalue from the rotation transformation operation matrix; a discretescaling transformation operation value from the second scalingtransformation operation matrix; a discrete translation transformationoperation value from the translation transformation operation matrix;and a discrete shear transformation operation value from the sheartransformation operation matrix.

The system further includes a plurality of post-rasterizationtransformation circuits, operatively connected to the rasterizingcircuit and the transformation matrix decomposing circuit, to performtransformation operations upon the rasterized data.

The corresponding transformation matrix may represent a deviceindependent transformation operation. The corresponding transformationmatrix may represent device independent rotation, scaling, shear, andtranslation operations. The source transformation matrix may be atransformation matrix created by an ordered matrix multiplication of aplurality of individual transformation operation matrices, eachindividual transformation operation matrix representing a rotationtransformation operation, a scaling transformation operation, or asource translation transformation operation.

A method of controlling operations of a printing device receivesnon-rasterized page description language data and a correspondingtransformation matrix representing transformation operations to beperformed; rasterizes the non-rasterized page description language datato create rasterized data; decomposes the corresponding transformationmatrix into a rotation transformation operation matrix, a first scalingtransformation operation matrix, and a translation transformationoperation matrix; decomposes the first scaling transformation operationmatrix into a shear transformation operation matrix and a second scalingtransformation operation matrix; generates a discrete rotationtransformation operation value from the rotation transformationoperation matrix; generates a discrete scaling transformation operationvalue from the second scaling transformation operation matrix; generatesa discrete translation transformation operation value from thetranslation transformation operation matrix; generates a discrete sheartransformation operation value from the shear transformation operationmatrix; and controls operations of the printing device based upon thegenerated discrete transformation operation values.

The controlling operations of the printing device based upon thegenerated discrete transformation operation values may control anorientation of a recording medium based upon the generated discreteshear transformation operation value. The controlling operations of theprinting device based upon the generated discrete transformationoperation values may control a speed of a photosensitive medium, forrecording a latent image, based upon the generated discrete sheartransformation operation value. The controlling operations of theprinting device based upon the generated discrete transformationoperation values may control a magnification of an illumination device,for recording a latent image, based upon the generated discrete sheartransformation operation value.

A method of controlling operations of a printing device receives anon-rasterized page description language data to be rendered; creates atransformation matrix representing transformation operations; rasterizesthe received image; decomposes the transformation matrix into a rotationtransformation operation matrix, a first scaling transformationoperation matrix, and a translation transformation operation matrix;decomposes the first scaling transformation operation matrix into ashear transformation operation matrix and a second scalingtransformation operation matrix; generates a discrete rotationtransformation operation value from the rotation transformationoperation matrix; generates a discrete scaling transformation operationvalue from the second scaling transformation operation matrix; generatesa discrete translation transformation operation value from thetranslation transformation operation matrix; generates a discrete sheartransformation operation value from the shear transformation operationmatrix; and controls operations of the printing device based upon thegenerated discrete transformation operation values.

The controlling operations of the printing device based upon thegenerated discrete transformation operation values may control anorientation of a recording medium based upon the generated discreteshear transformation operation value. The controlling operations of theprinting device based upon the generated discrete transformationoperation values may control a speed of a photosensitive medium, forrecording a latent image, based upon the generated discrete sheartransformation operation value. The controlling operations of theprinting device based upon the generated discrete transformationoperation values may control a magnification of an illumination device,for recording a latent image, based upon the generated discrete sheartransformation operation value.

A method of controlling operations of a printing device receives anon-rasterized page description language data to be rendered; rasterizesthe received image; creates, post rasterization, a transformation matrixrepresenting transformation operations; decomposes the transformationmatrix into a rotation transformation operation matrix, a first scalingtransformation operation matrix, and a translation transformationoperation matrix; decomposes the first scaling transformation operationmatrix into a shear transformation operation matrix and a second scalingtransformation operation matrix; generates a discrete rotationtransformation operation value from the rotation transformationoperation matrix; generates a discrete scaling transformation operationvalue from the second scaling transformation operation matrix; generatesa discrete translation transformation operation value from thetranslation transformation operation matrix; generates a discrete sheartransformation operation value from the shear transformation operationmatrix; and controls operations of the printing device based upon thegenerated discrete transformation operation values.

The controlling operations of the printing device based upon thegenerated discrete transformation operation values may control anorientation of a recording medium based upon the generated discreteshear transformation operation value. The controlling operations of theprinting device based upon the generated discrete transformationoperation values may control a speed of a photosensitive medium, forrecording a latent image, based upon the generated discrete sheartransformation operation value. The controlling operations of theprinting device based upon the generated discrete transformationoperation values may control a magnification of an illumination device,for recording a latent image, based upon the generated discrete sheartransformation operation value.

A system for controlling operations of a printing device includes arasterizing circuit to rasterize a non-rasterized page descriptionlanguage data, the non-rasterized page description language data havinga corresponding transformation matrix representing transformationoperations to be performed; a transformation matrix decomposing circuitto decompose the corresponding transformation matrix representingtransformation operations to be performed and to generate a discretetransformation operation value, from a corresponding individualtransformation operation matrix, for each transformation operation to beperformed upon the rasterized data; a printing device to render therasterized data; and a controller to control operations of the printingdevice.

The transformation matrix decomposing circuit decomposes thecorresponding transformation matrix into a rotation transformationoperation matrix, a first scaling transformation operation matrix, and atranslation transformation operation matrix; decomposes the firstscaling transformation operation matrix into a shear transformationoperation matrix and a second scaling transformation operation matrix;decomposes the corresponding transformation matrix in an ordercorresponding to the predetermined order for performing thetransformation operations upon the rasterized data; and decomposes thefirst scaling transformation matrix in an order corresponding to anorder of the scaling transformation operation and shear transformationoperation being performed upon the rasterized data.

The transformation matrix decomposing circuit generates a discreterotation transformation operation value from the rotation transformationoperation matrix; a discrete scaling transformation operation value fromthe second scaling transformation operation matrix; a discretetranslation transformation operation value from the translationtransformation operation matrix; and a discrete shear transformationoperation value from the shear transformation operation matrix.

The controller controls operations of the printing device based upon thegenerated discrete transformation operation values.

The controller may control operations of the printing device based uponthe generated discrete transformation operation values by controlling anorientation of a recording medium based upon the generated discreteshear transformation operation value. The controller may controloperations of the printing based upon the generated discretetransformation operation values by controlling a speed of aphotosensitive medium, for recording a latent image, based upon thegenerated discrete shear transformation operation value. The controllermay control operations of the printing based upon the generated discretetransformation operation values by controlling a magnification of anillumination device, for recording a latent image, based upon thegenerated discrete shear transformation operation value.

A system for controlling operations of a printing device includes arasterizing circuit to rasterize a non-rasterized page descriptionlanguage data; a transformation matrix circuit for generating atransformation matrix representing transformation operations; atransformation matrix decomposing circuit to decompose the generatedtransformation matrix representing transformation operations and togenerate a discrete transformation operation value, from a correspondingindividual transformation operation matrix, for each transformationoperation to be performed upon the rasterized data; a printing device torender the rasterized data; and a controller to control operations ofthe printing device.

The transformation matrix decomposing circuit decomposes thecorresponding transformation matrix into a rotation transformationoperation matrix, a first scaling transformation operation matrix, and atranslation transformation operation matrix; decomposes the firstscaling transformation operation matrix into a shear transformationoperation matrix and a second scaling transformation operation matrix;decomposes the corresponding transformation matrix in an ordercorresponding to the predetermined order for performing thetransformation operations upon the rasterized data; and decomposes thefirst scaling transformation matrix in an order corresponding to anorder of the scaling transformation operation and shear transformationoperation being performed upon the rasterized data.

The transformation matrix decomposing circuit generates a discreterotation transformation operation value from the rotation transformationoperation matrix; a discrete scaling transformation operation value fromthe second scaling transformation operation matrix; a discretetranslation transformation operation value from the translationtransformation operation matrix; and a discrete shear transformationoperation value from the shear transformation operation matrix.

The controller controls operations of the printing device based upon thegenerated discrete transformation operation values.

The controller may control operations of the printing device based uponthe generated discrete transformation operation values by controlling anorientation of a recording medium based upon the generated discreteshear transformation operation value. The controller may controloperations of the printing based upon the generated discretetransformation operation values by controlling a speed of aphotosensitive medium, for recording a latent image, based upon thegenerated discrete shear transformation operation value. The controllermay control operations of the printing based upon the generated discretetransformation operation values by controlling a magnification of anillumination device, for recording a latent image, based upon thegenerated discrete shear transformation operation value.

A method of controlling operations of a printing device receives anon-rasterized page description language data and a sourcetransformation matrix representing source transformation operations, thesource transformation operations being a source rotation transformationoperation, a source scaling transformation operation, and a sourcetranslation transformation operation; rasterizes the non-rasterized pagedescription language data; generates, from the source transformationmatrix, a rotation dependent scaling transformation matrix and arotation dependent translation transformation matrix; determines anorder of transformation operations to be performed upon the rasterizeddata; creates a target transformation matrix by matrix multiplying therotation dependent scaling transformation matrix, the rotation dependenttranslation transformation matrix, and the source rotationtransformation operation in a matrix order corresponding to thedetermined order of transformation operations to be performed upon therasterized data; decomposes the corresponding transformation matrix intoa rotation transformation operation matrix, a first scalingtransformation operation matrix, and a translation transformationoperation matrix; decomposes the first scaling transformation operationmatrix into a shear transformation operation matrix and a second scalingtransformation operation matrix; generates a discrete rotationtransformation operation value from the rotation transformationoperation matrix; generates a discrete scaling transformation operationvalue from the second scaling transformation operation matrix; generatesa discrete translation transformation operation value from thetranslation transformation operation matrix; generates a discrete sheartransformation operation value from the shear transformation operationmatrix; and controls operations of the printing device based upon thegenerated discrete transformation operation values.

The controlling operations of the printing device based upon thegenerated discrete transformation operation values may control anorientation of a recording medium based upon the generated discreteshear transformation operation value. The controlling operations of theprinting device based upon the generated discrete transformationoperation values may control a speed of a photosensitive medium, forrecording a latent image, based upon the generated discrete sheartransformation operation value. The controlling operations of theprinting device based upon the generated discrete transformationoperation values may control a magnification of an illumination device,for recording a latent image, based upon the generated discrete sheartransformation operation value.

A method of controlling operations of a printing device receives anon-rasterized page description language data to be rendered; creates asource transformation matrix representing source transformationoperations, the source transformation operations being a source rotationtransformation operation, a source scaling transformation operation, anda source translation transformation operation; rasterizes the receivedimage; generates, from the source transformation matrix, a rotationdependent scaling transformation matrix and a rotation dependenttranslation transformation matrix; determines an order of transformationoperations to be performed upon the rasterized data; creates a targettransformation matrix by matrix multiplying the rotation dependentscaling transformation matrix, the rotation dependent translationtransformation matrix, and the source rotation transformation operationin a matrix order corresponding to the determined order oftransformation operations to be performed upon the rasterized data;decomposes the corresponding transformation matrix into a rotationtransformation operation matrix, a first scaling transformationoperation matrix, and a translation transformation operation matrix;decomposes the first scaling transformation operation matrix into ashear transformation operation matrix and a second scalingtransformation operation matrix; generates a discrete rotationtransformation operation value from the rotation transformationoperation matrix; generates a discrete scaling transformation operationvalue from the second scaling transformation operation matrix; generatesa discrete translation transformation operation value from thetranslation transformation operation matrix; generates a discrete sheartransformation operation value from the shear transformation operationmatrix; and controls operations of the printing device based upon thegenerated discrete transformation operation values.

The controlling operations of the printing device based upon thegenerated discrete transformation operation values may control anorientation of a recording medium based upon the generated discreteshear transformation operation value. The controlling operations of theprinting device based upon the generated discrete transformationoperation values may control a speed of a photosensitive medium, forrecording a latent image, based upon the generated discrete sheartransformation operation value. The controlling operations of theprinting device based upon the generated discrete transformationoperation values may control a magnification of an illumination device,for recording a latent image, based upon the generated discrete sheartransformation operation value.

A method of controlling operations of a printing device receives anon-rasterized page description language data to be rendered; rasterizesthe received image; creates, post rasterization, a source transformationmatrix representing transformation operations; generates, from thesource transformation matrix, a rotation dependent scalingtransformation matrix and a rotation dependent translationtransformation matrix; determines an order of transformation operationsto be performed upon the rasterized data; creates a targettransformation matrix by matrix multiplying the rotation dependentscaling transformation matrix, the rotation dependent translationtransformation matrix, and the source rotation transformation operationin a matrix order corresponding to the determined order oftransformation operations to be performed upon the rasterized data;decomposes the transformation matrix into a rotation transformationoperation matrix, a first scaling transformation operation matrix, and atranslation transformation operation matrix; decomposes the firstscaling transformation operation matrix into a shear transformationoperation matrix and a second scaling transformation operation matrix;generates a discrete rotation transformation operation value from therotation transformation operation matrix; generates a discrete scalingtransformation operation value from the second scaling transformationoperation matrix; generates a discrete translation transformationoperation value from the translation transformation operation matrix;generates a discrete shear transformation operation value from the sheartransformation operation matrix; and controls operations of the printingdevice based upon the generated discrete transformation operationvalues.

The controlling operations of the printing device based upon thegenerated discrete transformation operation values may control anorientation of a recording medium based upon the generated discreteshear transformation operation value. The controlling operations of theprinting device based upon the generated discrete transformationoperation values may control a speed of a photosensitive medium, forrecording a latent image, based upon the generated discrete sheartransformation operation value. The controlling operations of theprinting device based upon the generated discrete transformationoperation values may control a magnification of an illumination device,for recording a latent image, based upon the generated discrete sheartransformation operation value.

A system for controlling operations of a printing device includes arasterizing circuit to rasterize a non-rasterized page descriptionlanguage data, the non-rasterized page description language data havinga source transformation matrix representing source transformationoperations, the source transformation operations being a source rotationtransformation operation, a source scaling transformation operation, anda source translation transformation operation; a processor to generate,from the source transformation matrix, a rotation dependent scalingtransformation matrix and a rotation dependent translationtransformation matrix; a printing device to render the rasterized data;and a controller to control operations of the printing device.

The processor determines an order of transformation operations to beperformed upon the rasterized data and creates a target transformationmatrix by matrix multiplying the rotation dependent scalingtransformation matrix, the rotation dependent translation transformationmatrix, and the source rotation transformation operation in a matrixorder corresponding to the determined order of transformation operationsto be performed upon the rasterized data.

The processor decomposes the source transformation matrix into arotation transformation operation matrix, a first scaling transformationoperation matrix, and a translation transformation operation matrix;decomposes the first scaling transformation operation matrix into ashear transformation operation matrix and a second scalingtransformation operation matrix; decomposes the correspondingtransformation matrix in an order corresponding to the predeterminedorder for performing the transformation operations upon the rasterizeddata; and decomposes the first scaling transformation matrix in an ordercorresponding to an order of the scaling transformation operation andshear transformation operation being performed upon the rasterized data.

The processor generates a discrete rotation transformation operationvalue from the rotation transformation operation matrix; a discretescaling transformation operation value from the second scalingtransformation operation matrix; a discrete translation transformationoperation value from the translation transformation operation matrix;and a discrete shear transformation operation value from the sheartransformation operation matrix.

The controller controls operations of the printing device based upon thegenerated discrete transformation operation values.

The controller may control operations of the printing device based uponthe generated discrete transformation operation values by controlling anorientation of a recording medium based upon the generated discreteshear transformation operation value. The controller may controloperations of the printing based upon the generated discretetransformation operation values by controlling a speed of aphotosensitive medium, for recording a latent image, based upon thegenerated discrete shear transformation operation value. The controllermay control operations of the printing based upon the generated discretetransformation operation values by controlling a magnification of anillumination device, for recording a latent image, based upon thegenerated discrete shear transformation operation value.

A system for controlling operations of a printing device includes arasterizing circuit to rasterize a non-rasterized page descriptionlanguage data; a transformation matrix circuit for generating a sourcetransformation matrix representing source transformation operations, thesource transformation operations being a source rotation transformationoperation, a source scaling transformation operation, and a sourcetranslation transformation operation; a printing device to render therasterized data; a controller to control operations of the printingdevice; and a processor for determining an order of transformationoperations to be performed upon the rasterized data.

The processor creates a target transformation matrix by matrixmultiplying the rotation dependent scaling transformation matrix, therotation dependent translation transformation matrix, and the sourcerotation transformation operation in a matrix order corresponding to thedetermined order of transformation operations to be performed upon therasterized data.

The processor decomposes the source transformation matrix into arotation transformation operation matrix, a first scaling transformationoperation matrix, and a translation transformation operation matrix;decomposes the first scaling transformation operation matrix into ashear transformation operation matrix and a second scalingtransformation operation matrix; decomposes the correspondingtransformation matrix in an order corresponding to the predeterminedorder for performing the transformation operations upon the rasterizeddata; and decomposes the first scaling transformation matrix in an ordercorresponding to an order of the scaling transformation operation andshear transformation operation being performed upon the rasterized data.

The processor generates a discrete rotation transformation operationvalue from the rotation transformation operation matrix; a discretescaling transformation operation value from the second scalingtransformation operation matrix; a discrete translation transformationoperation value from the translation transformation operation matrix;and a discrete shear transformation operation value from the sheartransformation operation matrix.

The controller controls operations of the printing device based upon thegenerated discrete transformation operation values.

The controller may control operations of the printing device based uponthe generated discrete transformation operation values by controlling anorientation of a recording medium based upon the generated discreteshear transformation operation value. The controller may controloperations of the printing based upon the generated discretetransformation operation values by controlling a speed of aphotosensitive medium, for recording a latent image, based upon thegenerated discrete shear transformation operation value. The controllermay control operations of the printing based upon the generated discretetransformation operation values by controlling a magnification of anillumination device, for recording a latent image, based upon thegenerated discrete shear transformation operation value.

A method of controlling operations of a printing device receives anon-rasterized page description language data and a sourcetransformation matrix, the source transformation matrix being atransformation matrix created by an ordered matrix multiplication of aplurality of individual transformation operation matrices, eachindividual transformation operation matrix representing a rotationtransformation operation, a scaling transformation operation, or asource translation transformation operation; rasterizes thenon-rasterized page description language data; generates, from thesource transformation matrix, a rotation transformation matrix, ascaling transformation matrix and a translation transformation matrixbased on a predetermined matrix order; determines a rotation value fromthe rotation transformation matrix; determines an order oftransformation operations to be performed upon the rasterized data;creates an order dependent rotation dependent scaling transformationmatrix and an order dependent rotation dependent translationtransformation matrix; creates a target transformation matrix by matrixmultiplying the rotation dependent scaling transformation matrix, therotation dependent translation transformation matrix, and the rotationtransformation operation in a matrix order corresponding to thedetermined order of transformation operations to be performed upon therasterized data; decomposes the corresponding transformation matrix intoa rotation transformation operation matrix, a first scalingtransformation operation matrix, and a translation transformationoperation matrix; decomposes the first scaling transformation operationmatrix into a shear transformation operation matrix and a second scalingtransformation operation matrix; generates a discrete rotationtransformation operation value from the rotation transformationoperation matrix; generates a discrete scaling transformation operationvalue from the second scaling transformation operation matrix; generatesa discrete translation transformation operation value from thetranslation transformation operation matrix; generates a discrete sheartransformation operation value from the shear transformation operationmatrix; and controls operations of the printing device based upon thegenerated discrete transformation operation values.

The controlling operations of the printing device based upon thegenerated discrete transformation operation values may control anorientation of a recording medium based upon the generated discreteshear transformation operation value. The controlling operations of theprinting device based upon the generated discrete transformationoperation values may control a speed of a photosensitive medium, forrecording a latent image, based upon the generated discrete sheartransformation operation value. The controlling operations of theprinting device based upon the generated discrete transformationoperation values may control a magnification of an illumination device,for recording a latent image, based upon the generated discrete sheartransformation operation value.

A method of controlling operations of a printing device receives anon-rasterized page description language data to be rendered; creates asource transformation matrix, the source transformation matrix being atransformation matrix created by an ordered matrix multiplication of aplurality of individual transformation operation matrices, eachindividual transformation operation matrix representing a rotationtransformation operation, a scaling transformation operation, or asource translation transformation operation; rasterizes the receivedimage; generates, from the source transformation matrix, a rotationtransformation matrix, a scaling transformation matrix and a translationtransformation matrix based on a predetermined matrix order; determinesa rotation value from the rotation transformation matrix, determines anorder of transformation operations to be performed upon the rasterizeddata; creates an order dependent rotation dependent scalingtransformation matrix and an order dependent rotation dependenttranslation transformation matrix; creates a target transformationmatrix by matrix multiplying the rotation dependent scalingtransformation matrix, the rotation dependent translation transformationmatrix, and the rotation transformation operation in a matrix ordercorresponding to the determined order of transformation operations to beperformed upon the rasterized data; decomposes the target transformationmatrix representing the transformation operations into a plurality ofordered transformational operation matrices, each transformationaloperation matrix representing an independent transformation operation;generates a discrete transformation operation value, from acorresponding individual transformational operation matrix, for eachtransformation operation to be performed upon the rasterized data; andcontrols operations of the printing device based upon the generateddiscrete transformation operation values.

The controlling operations of the printing device based upon thegenerated discrete transformation operation values may control anorientation of a recording medium based upon the generated discreteshear transformation operation value. The controlling operations of theprinting device based upon the generated discrete transformationoperation values may control a speed of a photosensitive medium, forrecording a latent image, based upon the generated discrete sheartransformation operation value. The controlling operations of theprinting device based upon the generated discrete transformationoperation values may control a magnification of an illumination device,for recording a latent image, based upon the generated discrete sheartransformation operation value.

A method of controlling imaging operations of a rendering devicereceives a non-rasterized page description language data to be rendered;rasterizes the received image; creates, post rasterization, a sourcetransformation matrix, the source transformation matrix being atransformation matrix created by an ordered matrix multiplication of aplurality of individual transformation operation matrices, eachindividual transformation operation matrix representing a rotationtransformation operation, a scaling transformation operation, or asource translation transformation operation; generates, from the sourcetransformation matrix, a rotation transformation matrix, a scalingtransformation matrix and a translation transformation matrix based on apredetermined matrix order; determines a rotation value from therotation transformation matrix; determines an order of transformationoperations to be performed upon the rasterized data; creates an orderdependent rotation dependent scaling transformation matrix and an orderdependent rotation dependent translation transformation matrix; createsa target transformation matrix by matrix multiplying the rotationdependent scaling transformation matrix, the rotation dependenttranslation transformation matrix, and the rotation transformationoperation in a matrix order corresponding to the determined order oftransformation operations to be performed upon the rasterized data;decomposes the corresponding transformation matrix into a rotationtransformation operation matrix, a first scaling transformationoperation matrix, and a translation transformation operation matrix;decomposes the first scaling transformation operation matrix into ashear transformation operation matrix and a second scalingtransformation operation matrix; generates a discrete rotationtransformation operation value from the rotation transformationoperation matrix; generates a discrete scaling transformation operationvalue from the second scaling transformation operation matrix; generatesa discrete translation transformation operation value from thetranslation transformation operation matrix; generates a discrete sheartransformation operation value from the shear transformation operationmatrix; and; and transforms the rasterized data based upon the generateddiscrete transformation operation values.

The controlling operations of the printing device based upon thegenerated discrete transformation operation values may control anorientation of a recording medium based upon the generated discreteshear transformation operation value. The controlling operations of theprinting device based upon the generated discrete transformationoperation values may control a speed of a photosensitive medium, forrecording a latent image, based upon the generated discrete sheartransformation operation value. The controlling operations of theprinting device based upon the generated discrete transformationoperation values may control a magnification of an illumination device,for recording a latent image, based upon the generated discrete sheartransformation operation value.

A system for controlling operations of a printing device includes arasterizing circuit to rasterize a non-rasterized page descriptionlanguage data, the non-rasterized page description language data havinga source transformation matrix representing source transformationoperations, the source transformation operations being a source rotationtransformation operation, a source scaling transformation operation, anda source translation transformation operation; a processor to generate,from the source transformation matrix, a rotation transformation matrix,a scaling transformation matrix and a translation transformation matrixbased on a predetermined matrix order; a printing device to render therasterized data; and a controller to control operations of the printingdevice.

The processor determines a rotation value from the rotationtransformation matrix and determines an order of transformationoperations to be performed upon the rasterized data.

The processor creates an order dependent rotation dependent scalingtransformation matrix and an order dependent rotation dependenttranslation transformation matrix and creates a target transformationmatrix by matrix multiplying the rotation dependent scalingtransformation matrix, the rotation dependent translation transformationmatrix, and the rotation transformation operation in a matrix ordercorresponding to the determined order of transformation operations to beperformed upon the rasterized data.

The processor decomposes the source transformation matrix into arotation transformation operation matrix, a first scaling transformationoperation matrix, and a translation transformation operation matrix;decomposes the first scaling transformation operation matrix into ashear transformation operation matrix and a second scalingtransformation operation matrix; decomposes the correspondingtransformation matrix in an order corresponding to the predeterminedorder for performing the transformation operations upon the rasterizeddata; and decomposes the first scaling transformation matrix in an ordercorresponding to an order of the scaling transformation operation andshear transformation operation being performed upon the rasterized data.

The processor generates a discrete rotation transformation operationvalue from the rotation transformation operation matrix; a discretescaling transformation operation value from the second scalingtransformation operation matrix; a discrete translation transformationoperation value from the translation transformation operation matrix;and a discrete shear transformation operation value from the sheartransformation operation matrix.

The controller controls operations of the printing device based upon thegenerated discrete transformation operation values.

The controller may control operations of the printing device based uponthe generated discrete transformation operation values by controlling anorientation of a recording medium based upon the generated discreteshear transformation operation value. The controller may controloperations of the printing based upon the generated discretetransformation operation values by controlling a speed of aphotosensitive medium, for recording a latent image, based upon thegenerated discrete shear transformation operation value. The controllermay control operations of the printing based upon the generated discretetransformation operation values by controlling a magnification of anillumination device, for recording a latent image, based upon thegenerated discrete shear transformation operation value.

A system for controlling operations of a printing device includes arasterizing circuit to rasterize a non-rasterized page descriptionlanguage data; a transformation matrix circuit for generating a sourcetransformation matrix representing source transformation operations, thesource transformation operations being a source rotation transformationoperation, a source scaling transformation operation, and a sourcetranslation transformation operation; a printing device to render therasterized data; a controller to control operations of the printingdevice; and a processor for determining an order of transformationoperations to be performed upon the rasterized data.

The processor generates, from the source transformation matrix, arotation transformation matrix, a scaling transformation matrix and atranslation transformation matrix based on a predetermined matrix order.

The processor determines a rotation value from the rotationtransformation matrix and determines an order of transformationoperations to be performed upon the rasterized data.

The processor creates an order dependent rotation dependent scalingtransformation matrix and an order dependent rotation dependenttranslation transformation matrix and creates a target transformationmatrix by matrix multiplying the rotation dependent scalingtransformation matrix, the rotation dependent translation transformationmatrix, and the rotation transformation operation in a matrix ordercorresponding to the determined order of transformation operations to beperformed upon the rasterized data.

The processor decomposes the source transformation matrix into arotation transformation operation matrix, a first scaling transformationoperation matrix, and a translation transformation operation matrix;decomposes the first scaling transformation operation matrix into ashear transformation operation matrix and a second scalingtransformation operation matrix; decomposes the correspondingtransformation matrix in an order corresponding to the predeterminedorder for performing the transformation operations upon the rasterizeddata; and decomposes the first scaling transformation matrix in an ordercorresponding to an order of the scaling transformation operation andshear transformation operation being performed upon the rasterized data.

The processor generates a discrete rotation transformation operationvalue from the rotation transformation operation matrix; a discretescaling transformation operation value from the second scalingtransformation operation matrix; a discrete translation transformationoperation value from the translation transformation operation matrix;and a discrete shear transformation operation value from the sheartransformation operation matrix

The controller controls operations of the printing device based upon thegenerated discrete transformation operation values.

The controller may control operations of the printing device based uponthe generated discrete transformation operation values by controlling anorientation of a recording medium based upon the generated discreteshear transformation operation value. The controller may controloperations of the printing based upon the generated discretetransformation operation values by controlling a speed of aphotosensitive medium, for recording a latent image, based upon thegenerated discrete shear transformation operation value. The controllermay control operations of the printing based upon the generated discretetransformation operation values by controlling a magnification of anillumination device, for recording a latent image, based upon thegenerated discrete shear transformation operation value.

A method of controlling operations of a printing device receives anon-rasterized page description language data and a sourcetransformation matrix representing source transformation operations, thesource transformation operations being a source rotation transformationoperation, a source scaling transformation operation, and a sourcetranslation transformation operation; rasterizes the non-rasterized pagedescription language data; determines an order of transformationoperations to be performed upon the rasterized data; generates, from thesource transformation matrix, a rotation transformation matrix and ascaling transformation matrix based upon a rotation scaling order of thedetermined order of transformation operations; generates a translationtransformation matrix from the generated rotation and scalingtransformation matrices; creates a target transformation matrix bymatrix multiplying the generated rotation transformation matrix, thegenerated scaling transformation matrix, and the generatedtransformation operation in a matrix order corresponding to thedetermined order of transformation operations to be performed upon therasterized data; decomposes the corresponding transformation matrix intoa rotation transformation operation matrix, a first scalingtransformation operation matrix, and a translation transformationoperation matrix; decomposes the first scaling transformation operationmatrix into a shear transformation operation matrix and a second scalingtransformation operation matrix; generates a discrete rotationtransformation operation value from the rotation transformationoperation matrix; generates a discrete scaling transformation operationvalue from the second scaling transformation operation matrix; generatesa discrete translation transformation operation value from thetranslation transformation operation matrix; generates a discrete sheartransformation operation value from the shear transformation operationmatrix; and controls operations of the printing device based upon thegenerated discrete transformation operation values.

The controlling operations of the printing device based upon thegenerated discrete transformation operation values may control anorientation of a recording medium based upon the generated discreteshear transformation operation value. The controlling operations of theprinting device based upon the generated discrete transformationoperation values may control a speed of a photosensitive medium, forrecording a latent image, based upon the generated discrete sheartransformation operation value. The controlling operations of theprinting device based upon the generated discrete transformationoperation values may control a magnification of an illumination device,for recording a latent image, based upon the generated discrete sheartransformation operation value.

A method of controlling operations of a printing device receives anon-rasterized page description language data to be rendered; creates asource transformation matrix representing source transformationoperations, the source transformation operations being a source rotationtransformation operation, a source scaling transformation operation, anda source translation transformation operation; rasterizes the receivedimage; determines an order of transformation operations to be performedupon the rasterized data; generates, from the source transformationmatrix, a rotation transformation matrix and a scaling transformationmatrix based upon a rotation scaling order of the determined order oftransformation operations; generates a translation transformation matrixfrom the generated rotation and scaling transformation matrices; createsa target transformation matrix by matrix multiplying the generatedrotation transformation matrix, the generated scaling transformationmatrix, and the generated transformation operation in a matrix ordercorresponding to the determined order of transformation operations to beperformed upon the rasterized data; decomposes the transformation matrixinto a rotation transformation operation matrix, a first scalingtransformation operation matrix, and a translation transformationoperation matrix; decomposes the first scaling transformation operationmatrix into a shear transformation operation matrix and a second scalingtransformation operation matrix; generates a discrete rotationtransformation operation value from the rotation transformationoperation matrix; generates a discrete scaling transformation operationvalue from the second scaling transformation operation matrix; generatesa discrete translation transformation operation value from thetranslation transformation operation matrix; generates a discrete sheartransformation operation value from the shear transformation operationmatrix; and controls operations of the printing device based upon thegenerated discrete transformation operation values.

The controlling operations of the printing device based upon thegenerated discrete transformation operation values may control anorientation of a recording medium based upon the generated discreteshear transformation operation value. The controlling operations of theprinting device based upon the generated discrete transformationoperation values may control a speed of a photosensitive medium, forrecording a latent image, based upon the generated discrete sheartransformation operation value. The controlling operations of theprinting device based upon the generated discrete transformationoperation values may control a magnification of an illumination device,for recording a latent image, based upon the generated discrete sheartransformation operation value.

A method of controlling operations of a printing device receives anon-rasterized page description language data to be rendered; rasterizesthe received image; creates, post rasterization, a source transformationmatrix representing transformation operations; determines an order oftransformation operations to be performed upon the rasterized data;generates, from the source transformation matrix, a rotationtransformation matrix and a scaling transformation matrix based upon arotation scaling order of the determined order of transformationoperations; generates a translation transformation matrix from thegenerated rotation and scaling transformation matrices; creates a targettransformation matrix by matrix multiplying the generated rotationtransformation matrix, the generated scaling transformation matrix, andthe generated transformation operation in a matrix order correspondingto the determined order of transformation operations to be performedupon the rasterized data; decomposes the transformation matrix into arotation transformation operation matrix, a first scaling transformationoperation matrix, and a translation transformation operation matrix;decomposes the first scaling transformation operation matrix into ashear transformation operation matrix and a second scalingtransformation operation matrix; generates a discrete rotationtransformation operation value from the rotation transformationoperation matrix; generates a discrete scaling transformation operationvalue from the second scaling transformation operation matrix; generatesa discrete translation transformation operation value from thetranslation transformation operation matrix; generates a discrete sheartransformation operation value from the shear transformation operationmatrix; and controls operations of the printing device based upon thegenerated discrete transformation operation values.

The controlling operations of the printing device based upon thegenerated discrete transformation operation values may control anorientation of a recording medium based upon the generated discreteshear transformation operation value. The controlling operations of theprinting device based upon the generated discrete transformationoperation values may control a speed of a photosensitive medium, forrecording a latent image, based upon the generated discrete sheartransformation operation value. The controlling operations of theprinting device based upon the generated discrete transformationoperation values may control a magnification of an illumination device,for recording a latent image, based upon the generated discrete sheartransformation operation value.

A system for controlling operations of a printing device includes arasterizing circuit to rasterize a non-rasterized page descriptionlanguage data, the non-rasterized page description language data havinga source transformation matrix representing source transformationoperations, the source transformation operations being a source rotationtransformation operation, a source scaling transformation operation, anda source translation transformation operation; a processor to determinean order of transformation operations to be performed upon therasterized data; a printing device to render the rasterized data; and acontroller to control operations of the printing device.

The processor generates, from the source transformation matrix, arotation transformation matrix and a scaling transformation matrix basedupon a rotation scaling order of the determined order of transformationoperations and generates a translation transformation matrix from thegenerated rotation and scaling transformation matrices.

The processor creates a target transformation matrix by matrixmultiplying the generated rotation transformation matrix, the generatedscaling transformation matrix, and the generated transformationoperation in a matrix order corresponding to the determined order oftransformation operations to be performed upon the rasterized data.

The processor decomposes the corresponding transformation matrix into arotation transformation operation matrix, a first scaling transformationoperation matrix, and a translation transformation operation matrix anddecomposes the first scaling transformation operation matrix into ashear transformation operation matrix and a second scalingtransformation operation matrix.

The processor generates a discrete rotation transformation operationvalue from the rotation transformation operation matrix; a discretescaling transformation operation value from the second scalingtransformation operation matrix; a discrete translation transformationoperation value from the translation transformation operation matrix;and a discrete shear transformation operation value from the sheartransformation operation matrix.

The controller controls operations of the printing device based upon thegenerated discrete transformation operation values.

The controller may control operations of the printing device based uponthe generated discrete transformation operation values by controlling anorientation of a recording medium based upon the generated discreteshear transformation operation value. The controller may controloperations of the printing based upon the generated discretetransformation operation values by controlling a speed of aphotosensitive medium, for recording a latent image, based upon thegenerated discrete shear transformation operation value. The controllermay control operations of the printing based upon the generated discretetransformation operation values by controlling a magnification of anillumination device, for recording a latent image, based upon thegenerated discrete shear transformation operation value.

A system for controlling operations of a printing device includes arasterizing circuit to rasterize a non-rasterized page descriptionlanguage data; a transformation matrix circuit for generating a sourcetransformation matrix representing source transformation operations, thesource transformation operations being a source rotation transformationoperation, a source scaling transformation operation, and a sourcetranslation transformation operation; a printing device to render therasterized data; a controller to control operations of the printingdevice; and a processor to determine an order of transformationoperations to be performed upon the rasterized data.

The processor generates, from the source transformation matrix, arotation transformation matrix and a scaling transformation matrix basedupon a rotation scaling order of the determined order of transformationoperations and generates a translation transformation matrix from thegenerated rotation and scaling transformation matrices.

The processor creates a target transformation matrix by matrixmultiplying the generated rotation transformation matrix, the generatedscaling transformation matrix, and the generated transformationoperation in a matrix order corresponding to the determined order oftransformation operations to be performed upon the rasterized data.

The processor decomposes the corresponding transformation matrix into arotation transformation operation matrix, a first scaling transformationoperation matrix, and a translation transformation operation matrix; anddecomposes the first scaling transformation operation matrix into ashear transformation operation matrix and a second scalingtransformation operation matrix.

The processor generates a discrete rotation transformation operationvalue from the rotation transformation operation matrix; generates adiscrete scaling transformation operation value from the second scalingtransformation operation matrix; a discrete translation transformationoperation value from the translation transformation operation matrix;and a discrete shear transformation operation value from the sheartransformation operation matrix.

The controller controls operations of the printing device based upon thegenerated discrete transformation operation values.

The controller may control operations of the printing device based uponthe generated discrete transformation operation values by controlling anorientation of a recording medium based upon the generated discreteshear transformation operation value. The controller may controloperations of the printing based upon the generated discretetransformation operation values by controlling a speed of aphotosensitive medium, for recording a latent image, based upon thegenerated discrete shear transformation operation value. The controllermay control operations of the printing based upon the generated discretetransformation operation values by controlling a magnification of anillumination device, for recording a latent image, based upon thegenerated discrete shear transformation operation value.

It should be noted that although the above processes have been describedwithin the context of software and/or methods, the above processes arealso applicable to circuits, application specific circuits, and/orfirmware.

It will be appreciated that various of the above-disclosed and otherfeatures and functions, or alternatives thereof, may be desirablycombined into many other different systems or applications. Also thatvarious presently unforeseen or unanticipated alternatives,modifications, variations or improvements therein may be subsequentlymade by those skilled in the art which are also intended to beencompassed by the following claims.

What is claimed is:
 1. A method of controlling operations of a printingdevice, having rendering components, to render an image on a recordingmedium, comprising: receiving non-rasterized page description languagedata and a corresponding transformation matrix representingtransformation operations to be performed; rasterizing thenon-rasterized page description language data to create rasterized data;determining an order of transformation operations to be performed, bythe printing device, upon the rasterized data; decomposing thecorresponding transformation matrix, based upon the determined order oftransformation operations to be performed, by the printing device, uponthe rasterized data, into a rotation transformation operation matrix, afirst scaling transformation operation matrix, and a translationtransformation operation matrix; decomposing the first scalingtransformation operation matrix into a shear transformation operationmatrix and a second scaling transformation operation matrix; generatinga discrete rotation transformation operation value from the rotationtransformation operation matrix; generating a discrete scalingtransformation operation value from the second scaling transformationoperation matrix; generating a discrete translation transformationoperation value from the translation transformation operation matrix;generating a discrete shear transformation operation value from theshear transformation operation matrix; and controlling operations of therendering components of the printing device, based upon the generateddiscrete transformation rotation operation value, the generated discretetransformation second scaling operation value, the generated discretetransformation translation operation value, and the generated discretetransformation shear operation value, to render the rasterized data asan image on a recording medium; said controlling operations of therendering components of the printing device including controlling anorientation of the recording medium, controlling a speed of aphotosensitive medium for recording a latent image, and controlling amagnification of an illumination device for recording a latent image. 2.A method of controlling operations of a printing device, havingrendering components, to render an image on a recording medium,comprising: receiving non-rasterized page description language data tobe rendered; creating a transformation matrix representingtransformation operations; rasterizing the received non-rasterized pagedescription language data; determining an order of transformationoperations to be performed, by the printing device, upon the rasterizeddata; decomposing the corresponding transformation matrix, based uponthe determined order of transformation operations to be performed, bythe printing device, upon the rasterized data, into a rotationtransformation operation matrix, a first scaling transformationoperation matrix, and a translation transformation operation matrix;decomposing the first scaling transformation operation matrix into ashear transformation operation matrix and a second scalingtransformation operation matrix; generating a discrete rotationtransformation operation value from the rotation transformationoperation matrix; generating a discrete scaling transformation operationvalue from the second scaling transformation operation matrix;generating a discrete translation transformation operation value fromthe translation transformation operation matrix; generating a discreteshear transformation operation value from the shear transformationoperation matrix; and controlling operations of the rendering componentsof the printing device, based upon the generated discrete transformationrotation operation value, the generated discrete transformation secondscaling operation value, the generated discrete transformationtranslation operation value, and the generated discrete transformationshear operation value, to render the rasterized data as an image on arecording medium; said controlling operations of the renderingcomponents of the printing device including controlling an orientationof the recording medium, controlling a speed of a photosensitive mediumfor recording a latent image, and controlling a magnification of anillumination device for recording a latent image.
 3. A method ofcontrolling operations of a printing device, having renderingcomponents, to render an image on a recording medium, comprising:receiving non-rasterized page description language data to be rendered;rasterizing the received non-rasterized page description language data;creating, post rasterization, a transformation matrix representingtransformation operations; determining an order of transformationoperations to be performed, by the printing device, upon the rasterizeddata; decomposing the corresponding transformation matrix, based uponthe determined order of transformation operations to be performed, bythe printing device, upon the rasterized data, into a rotationtransformation operation matrix, a first scaling transformationoperation matrix, and a translation transformation operation matrix;decomposing the first scaling transformation operation matrix into ashear transformation operation matrix and a second scalingtransformation operation matrix; generating a discrete rotationtransformation operation value from the rotation transformationoperation matrix; generating a discrete scaling transformation operationvalue from the second scaling transformation operation matrix;generating a discrete translation transformation operation value fromthe translation transformation operation matrix; generating a discreteshear transformation operation value from the shear transformationoperation matrix; and controlling operations of the rendering componentsof the printing device, based upon the generated discrete transformationrotation operation value, the generated discrete transformation secondscaling operation value, the generated discrete transformationtranslation operation value, and the generated discrete transformationshear operation value, to render the rasterized data as an image on arecording medium; said controlling operations of the renderingcomponents of the printing device including controlling an orientationof the recording medium, controlling a speed of a photosensitive mediumfor recording a latent image, and controlling a magnification of anillumination device for recording a latent image.
 4. A system forcontrolling operations of a printing device to render an image on arecording medium, comprising: a rasterizing circuit to rasterizenon-rasterized page description language data, the non-rasterized pagedescription language data having a corresponding transformation matrixrepresenting transformation operations to be performed; a printingdevice, having rendering components, to render the rasterized data; atransformation matrix decomposing circuit to determine an order oftransformation operations to be performed, by said printing device, uponthe rasterized data, to decompose the corresponding transformationmatrix representing transformation operations to be performed and togenerate a discrete transformation operation value, from a correspondingindividual transformation operation matrix, for each transformationoperation to be performed upon the rasterized data; and a controller tocontrol operations of said rendering components of said printing device;said transformation matrix decomposing circuit decomposing thecorresponding transformation matrix, based upon the determined order oftransformation operations to be performed, by said printing device, uponthe rasterized data, into a rotation transformation operation matrix, afirst scaling transformation operation matrix, and a translationtransformation operation matrix; said transformation matrix decomposingcircuit decomposing the first scaling transformation operation matrixinto a shear transformation operation matrix and a second scalingtransformation operation matrix; said transformation matrix decomposingcircuit decomposing the first scaling transformation matrix based uponthe determined order of the scaling transformation operation and sheartransformation operation being performed upon the rasterized data; saidtransformation matrix decomposing circuit generating a discrete rotationtransformation operation value from the rotation transformationoperation matrix; said transformation matrix decomposing circuitgenerating a discrete scaling transformation operation value from thesecond scaling transformation operation matrix; said transformationmatrix decomposing circuit generating a discrete translationtransformation operation value from the translation transformationoperation matrix; said transformation matrix decomposing circuitgenerating a discrete shear transformation operation value from theshear transformation operation matrix; said controller controllingoperations of said rendering components of said printing device, basedupon said generated discrete transformation rotation operation value,said generated discrete transformation second scaling operation value,said generated discrete transformation translation operation value, andsaid generated discrete transformation shear operation value, to causesaid printer to render the rasterized data as an image on a recordingmedium, the operations of the rendering components of the printingdevice controlled by said controller including controlling anorientation of the recording medium, controlling a speed of aphotosensitive medium for recording a latent image, and controlling amagnification of an illumination device for recording a latent image. 5.A system for controlling operations of a printing device to render animage on a recording medium, comprising: a rasterizing circuit torasterize non-rasterized page description language data; atransformation matrix circuit for generating a transformation matrixrepresenting transformation operations; a printing device, havingrendering components, to render the rasterized data; a transformationmatrix decomposing circuit to determine an order of transformationoperations to be performed, by said printing device, upon the rasterizeddata, to decompose the generated transformation matrix representingtransformation operations and to generate a discrete transformationoperation value, from a corresponding individual transformationoperation matrix, for each transformation operation to be performed uponthe rasterized data; and a controller to control operations of saidrendering components of said printing device; said transformation matrixdecomposing circuit decomposing the transformation matrix, based uponthe determined order of transformation operations to be performed, bysaid printing device, upon the rasterized data, into a rotationtransformation operation matrix, a first scaling transformationoperation matrix, and a translation transformation operation matrix;said transformation matrix decomposing circuit decomposing the firstscaling transformation operation matrix into a shear transformationoperation matrix and a second scaling transformation operation matrix;said transformation matrix decomposing circuit decomposing the firstscaling transformation matrix based upon the determined order of thescaling transformation operation and shear transformation operationbeing performed upon the rasterized data; said transformation matrixdecomposing circuit generating a discrete rotation transformationoperation value from the rotation transformation operation matrix; saidtransformation matrix decomposing circuit generating a discrete scalingtransformation operation value from the second scaling transformationoperation matrix; said transformation matrix decomposing circuitgenerating a discrete translation transformation operation value fromthe translation transformation operation matrix; said transformationmatrix decomposing circuit generating a discrete shear transformationoperation value from the shear transformation operation matrix; saidcontroller controlling operations of said rendering components of saidprinting device, based upon said generated discrete transformationrotation operation value, said generated discrete transformation secondscaling operation value, said generated discrete transformationtranslation operation value, and said generated discrete transformationshear operation value, to cause said printer to render the rasterizeddata as an image on a recording medium, the operations of the renderingcomponents of the printing device controlled by said controllerincluding controlling an orientation of the recording medium,controlling a speed of a photosensitive medium for recording a latentimage, and controlling a magnification of an illumination device forrecording a latent image.